#include "stdafx.h" #include "ZZDZDlg.h" #include "UIHistory.h" // CZZDZDlg dialog IMPLEMENT_DYNAMIC(CZZDZDlg, CDialog) CZZDZDlg::CZZDZDlg(CWnd* pParent /*=nullptr*/) : CDialog(IDD_ZZDZ_DLG, pParent) , m_bRect(TRUE) , m_iRadius(1000) , m_iLength(1000) , m_iWidth(1000) , m_iHeight(1000) { GET_CACHE(CZZDZDlg, %d%d%d%d%d, &m_bRect, &m_iRadius, &m_iLength, &m_iWidth, &m_iHeight); } CZZDZDlg::~CZZDZDlg() { } void CZZDZDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Radio(pDX, IDC_RADIO_CIRCLE, m_bRect); DDX_Text(pDX, IDC_EDIT_RADIUS, m_iRadius); DDX_Text(pDX, IDC_EDIT_LENGTH, m_iLength); DDX_Text(pDX, IDC_EDIT_WIDTH, m_iWidth); DDX_Text(pDX, IDC_EDIT_HEIGTH, m_iHeight); } BOOL CZZDZDlg::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(FALSE); OnBnClickedRadioRect(); return TRUE; } BEGIN_MESSAGE_MAP(CZZDZDlg, CDialog) ON_BN_CLICKED(IDOK, &CZZDZDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_RADIO_RECT, &CZZDZDlg::OnBnClickedRadioRect) ON_BN_CLICKED(IDC_RADIO_CIRCLE, &CZZDZDlg::OnBnClickedRadioCircle) END_MESSAGE_MAP() void CZZDZDlg::OnBnClickedOk() { if (!UpdateData(TRUE)) return; SET_CACHE(CZZDZDlg, %d%d%d%d%d, m_bRect, m_iRadius, m_iLength, m_iWidth, m_iHeight); CDialog::OnOK(); } void CZZDZDlg::OnBnClickedRadioRect() { CWnd *pWnd(NULL); UpdateData(TRUE); if (m_bRect) { pWnd = GetDlgItem(IDC_EDIT_RADIUS); if (pWnd) pWnd->EnableWindow(FALSE); pWnd = GetDlgItem(IDC_EDIT_WIDTH); if (pWnd) pWnd->EnableWindow(TRUE); pWnd = GetDlgItem(IDC_EDIT_LENGTH); if (pWnd) pWnd->EnableWindow(TRUE); } else { pWnd = GetDlgItem(IDC_EDIT_RADIUS); if (pWnd) pWnd->EnableWindow(TRUE); pWnd = GetDlgItem(IDC_EDIT_WIDTH); if (pWnd) pWnd->EnableWindow(FALSE); pWnd = GetDlgItem(IDC_EDIT_LENGTH); if (pWnd) pWnd->EnableWindow(FALSE); } } void CZZDZDlg::OnBnClickedRadioCircle() { OnBnClickedRadioRect(); }