#include "stdafx.h" #include "QXJCDlg.h" IMPLEMENT_DYNAMIC(CQXJCDlg, CDialog) CQXJCDlg::CQXJCDlg(CWnd* pParent /*=NULL*/) : CDialog(CQXJCDlg::IDD, pParent) , m_dW(0.25) , m_sDrawScale(_T("1:100")) { } CQXJCDlg::~CQXJCDlg() { } void CQXJCDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDITPLOTWIDTH, m_dW); DDX_CBString(pDX, IDC_COMBOSCALE, m_sDrawScale); } BEGIN_MESSAGE_MAP(CQXJCDlg, CDialog) ON_BN_CLICKED(IDOK, &CQXJCDlg::OnBnClickedOk) END_MESSAGE_MAP() BOOL CQXJCDlg::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(FALSE); return TRUE; } void CQXJCDlg::OnBnClickedOk() { UpdateData(); OnOK(); } double CQXJCDlg::GetWidth() const { int nIndex = m_sDrawScale.Find(_T(':'),0); double dDocScale = 1.0; if (nIndex != -1) { dDocScale = _ttof(m_sDrawScale.Mid(nIndex + 1)) / _ttof(m_sDrawScale.Mid(0,nIndex)); } double dW = m_dW * dDocScale; return dW; }