#include "StdAfx.h" #include "CDimTxtDlg.h" IMPLEMENT_DYNAMIC(CDimTxtDlg, CDialog) CDimTxtDlg::CDimTxtDlg(CWnd *pParent /*= NULL*/) : CDialog(CDimTxtDlg::IDD, pParent) , m_sDimTxt(_T("")) , m_dTxtH(2.5) , m_dWScale(0.75) , m_sScale(_T("1:10")) , m_bIsElDimTxt(FALSE) , m_bElStyle(0) { } CDimTxtDlg::~CDimTxtDlg() { } void CDimTxtDlg::DoDataExchange(CDataExchange *pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_sDimTxt); DDX_Text(pDX, IDC_EDIT2, m_dTxtH); DDX_Text(pDX, IDC_EDIT3, m_dWScale); DDX_CBString(pDX, IDC_COMBO1, m_sScale); DDX_Radio(pDX, IDC_RADIO5, m_bElStyle); DDX_Control(pDX, IDC_RADIO5, m_wndBTEL1); DDX_Control(pDX, IDC_RADIO6, m_wndBTEL2); DDX_Control(pDX, IDC_COMBO1, m_wndCombo); } BEGIN_MESSAGE_MAP(CDimTxtDlg, CDialog) ON_BN_CLICKED(IDOK, &CDimTxtDlg::OnBnClickedOk) END_MESSAGE_MAP() BOOL CDimTxtDlg::OnInitDialog() { CDialog::OnInitDialog(); m_bmpEl1.LoadBitmap(IDB_BMPEL1); m_wndBTEL1.SetBitmap(m_bmpEl1); m_bmpEl2.LoadBitmap(IDB_BMPEL2); m_wndBTEL2.SetBitmap(m_bmpEl2); if (m_bIsElDimTxt) { m_wndBTEL1.ShowWindow(SW_SHOW); m_wndBTEL2.ShowWindow(SW_SHOW); GetDlgItem(IDC_STATIC_EL)->ShowWindow(SW_SHOW); } else { m_wndBTEL1.ShowWindow(SW_HIDE); m_wndBTEL2.ShowWindow(SW_HIDE); GetDlgItem(IDC_STATIC_EL)->ShowWindow(SW_HIDE); } int nPos = m_wndCombo.FindString(0, m_sScale); if (nPos != -1) { m_wndCombo.SetCurSel(nPos); } UpdateData(FALSE); return TRUE; } void CDimTxtDlg::OnBnClickedOk() { UpdateData(); m_sDimTxt.TrimRight(); m_sDimTxt.TrimLeft(); if (m_sDimTxt.IsEmpty()) { AfxMessageBox(_T("标注文本不可为空!")); return; } if (m_dTxtH < 0.5) { AfxMessageBox(_T("打印字高太小!")); return; } if (m_dWScale < 0.1) { AfxMessageBox(_T("宽度系数太小!")); return; } CDialog::OnOK(); }