#include "stdafx.h" #include "ZLKDDlg.h" #include "CDKDDlg.h" IMPLEMENT_DYNAMIC(CZLKDDlg, CDialog) CZLKDDlg::CZLKDDlg(CWnd* pParent /*=NULL*/) : CDialog(CZLKDDlg::IDD, pParent) , m_nRow(2) , m_nCol(10) , m_dY(1500) , m_dX(1500) { m_bHoleValid = FALSE; memset(&m_kHoleData,0,sizeof(KHoleData)); m_bExt = FALSE; m_dExt1 = 0; m_dExt2 = 0; GET_CACHE(CZLKDDlg, %d%d%f%f, &m_nRow, &m_nCol, &m_dY, &m_dX); } CZLKDDlg::~CZLKDDlg() { } void CZLKDDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_nRow); DDX_Text(pDX, IDC_EDIT2, m_nCol); DDX_Text(pDX, IDC_EDIT3, m_dY); DDX_Text(pDX, IDC_EDIT12, m_dX); } BEGIN_MESSAGE_MAP(CZLKDDlg, CDialog) ON_BN_CLICKED(IDOK, &CZLKDDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_BUTTON1, &CZLKDDlg::OnBnClickedButton1) END_MESSAGE_MAP() BOOL CZLKDDlg::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(FALSE); return TRUE; } void CZLKDDlg::OnBnClickedOk() { UpdateData(); if (!m_bHoleValid) { AfxMessageBox(_T("请设置开动参数!")); return; } if (m_nRow == 0 || m_nCol == 0) { AfxMessageBox(_T("请输入正确的行列数!")); return; } if (m_dX < 2.0 || m_dY < 2.0) { AfxMessageBox(_T("行列间距太小,请输入合理的行列参数!")); return; } SET_CACHE(CZLKDDlg, %d%d%f%f, m_nRow, m_nCol, m_dY, m_dX); OnOK(); } void CZLKDDlg::OnBnClickedButton1() { CCDKDDlg dlg; dlg.m_bIsArrayKD = TRUE; dlg.m_dBomEl = m_dBolEl; dlg.m_dHoleDeep = m_kHoleData.m_dDeep; dlg.m_dTL = m_kHoleData.m_dDeep; if ( IDOK == dlg.DoModal() ) { m_bExt = dlg.m_bExt; m_dExt1 = dlg.m_dExt1; m_dExt2 = dlg.m_dExt2; dlg.GetHoleData(m_kHoleData); m_bHoleValid = TRUE; } } void CZLKDDlg::GetKHoleData(KHoleData& data) const { memcpy(&data,&m_kHoleData,sizeof(KHoleData)); }