// MagPropDlg.cpp : implementation file // #include "stdafx.h" #include "MSVC5conview.h" #include "MagPropDlg.h" #include "leadmagnifyglassaction.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CMagPropDlg dialog CMagPropDlg::CMagPropDlg(CWnd* pParent /*=NULL*/) : CDialog(CMagPropDlg::IDD, pParent) { //{{AFX_DATA_INIT(CMagPropDlg) m_b3D = FALSE; m_nBorder = 1; m_bEllipes = FALSE; m_uHeight = 1; m_uWidth = 1; m_nZoom = 1; m_PenColor = 0; //}}AFX_DATA_INIT } void CMagPropDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMagPropDlg) DDX_Control(pDX, IDC_MAGACTION_ZOOM_EDT, m_edtZoom); DDX_Control(pDX, IDC_MAGACTION_WIDTH_EDT, m_edtWidth); DDX_Control(pDX, IDC_MAGACTION_HEIGHT_EDT, m_edtHeight); DDX_Control(pDX, IDC_MAGACTION_BORDER_EDT, m_edtBorder); DDX_Control(pDX, IDC_MAGACTION_CROS_COM, m_cmbCross); DDX_Check(pDX, IDC_MAGACTION_3D_CHK, m_b3D); DDX_Text(pDX, IDC_MAGACTION_BORDER_EDT, m_nBorder); DDV_MinMaxInt(pDX, m_nBorder, 1, 1000); DDX_Check(pDX, IDC_MAGACTION_ELPS_CHK, m_bEllipes); DDX_Text(pDX, IDC_MAGACTION_HEIGHT_EDT, m_uHeight); DDX_Text(pDX, IDC_MAGACTION_WIDTH_EDT, m_uWidth); DDX_Text(pDX, IDC_MAGACTION_ZOOM_EDT, m_nZoom); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CMagPropDlg, CDialog) //{{AFX_MSG_MAP(CMagPropDlg) ON_BN_CLICKED(IDC_MAGACTION_PENCLR_BTN, OnMagactionPenclrBtn) ON_WM_PAINT() ON_WM_DRAWITEM() ON_BN_CLICKED(IDAPPLY, OnApply) ON_BN_CLICKED(IDC_MAGACTION_ELPS_CHK, OnMagactionElpsChk) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMagPropDlg message handlers BOOL CMagPropDlg::OnInitDialog() { CDialog::OnInitDialog(); m_pView->m_ConView.MagnifyGlassAction().GetAction(); m_edtBorder.SetNumericEditBox(0, 10, 1, 0, FALSE); m_edtHeight.SetNumericEditBox(1, 1000, 1, 0, FALSE); m_edtWidth.SetNumericEditBox(1, 1000, 1, 0, FALSE); m_edtZoom.SetNumericEditBox(1, 1000, 1, 0, FALSE); m_cmbCross.AddString(TEXT("None" )); m_cmbCross.AddString(TEXT("Fine" )); m_cmbCross.AddString(TEXT("Invert Pen" )); m_cmbCross.AddString(TEXT("Invert Screen")); m_cmbCross.SetCurSel(m_pView->m_ConView.MagnifyGlassAction().GetCrossHair()); m_b3D = m_pView->m_ConView.MagnifyGlassAction().GetAppearance3D(); m_nBorder = m_pView->m_ConView.MagnifyGlassAction().GetBorderSize(); m_bEllipes = m_pView->m_ConView.MagnifyGlassAction().GetEllipse(); m_uHeight = m_pView->m_ConView.MagnifyGlassAction().GetHeight(); m_uWidth = m_pView->m_ConView.MagnifyGlassAction().GetWidth(); m_nZoom = m_pView->m_ConView.MagnifyGlassAction().GetZoomFactor(); m_PenColor = m_pView->m_ConView.MagnifyGlassAction().GetPenColor(); UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CMagPropDlg::OnMagactionPenclrBtn() { CConViewApp * pTheApp = (CConViewApp *)AfxGetApp(); m_PenColor = pTheApp->ShowColorDlg (m_PenColor, (this->GetSafeHwnd())); RedrawWindow(); } void CMagPropDlg::OnPaint() { CPaintDC dc(this); // device context for painting CConViewApp * pTheApp = (CConViewApp *)AfxGetApp(); pTheApp->RepaintButton(this, IDC_MAGACTION_PENCLR_TXT, m_PenColor); } void CMagPropDlg::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) { CConViewApp * pTheApp = (CConViewApp *)AfxGetApp(); pTheApp->RepaintButton(this, IDC_MAGACTION_PENCLR_TXT, m_PenColor); CDialog::OnDrawItem(nIDCtl, lpDrawItemStruct); } void CMagPropDlg::OnApply() { UpdateData(); m_pView->m_ConView.MagnifyGlassAction().SetAppearance3D(m_b3D ); m_pView->m_ConView.MagnifyGlassAction().SetBorderSize (m_nBorder ); m_pView->m_ConView.MagnifyGlassAction().SetEllipse (m_bEllipes); m_pView->m_ConView.MagnifyGlassAction().SetHeight (m_uHeight ); m_pView->m_ConView.MagnifyGlassAction().SetWidth (m_uWidth ); m_pView->m_ConView.MagnifyGlassAction().SetZoomFactor (m_nZoom ); m_pView->m_ConView.MagnifyGlassAction().SetPenColor(m_PenColor); m_pView->m_ConView.MagnifyGlassAction().SetCrossHair(m_cmbCross.GetCurSel()); m_pView->m_ConView.MagnifyGlassAction().SetAction(); } void CMagPropDlg::OnOK() { OnApply() ; CDialog::OnOK(); } void CMagPropDlg::OnMagactionElpsChk() { UpdateData(); GetDlgItem(IDC_MAGACTION_3D_CHK)->EnableWindow(!m_bEllipes); }