#include "afxwin.h" #include "SimpleDialog.h" #include "resource.h" CSimpleDialog::CSimpleDialog() : CDialog(ADDITION) { m_nTotal = 0; } afx_msg void CSimpleDialog::OnAdd() { const TEXT_SIZE = 16; char szText[TEXT_SIZE + 1]; CEdit* pTotal = (CEdit*) GetDlgItem(IDC_TOTAL); CEdit* pNum = (CEdit*) GetDlgItem(IDC_NUMBER); pNum->GetWindowText(szText, TEXT_SIZE); m_nTotal += atoi(szText); itoa(m_nTotal, szText, 10); pTotal->SetWindowText(szText); pNum->SetWindowText(""); pNum->SetFocus(); } afx_msg void CSimpleDialog::OnClear() { CEdit* pTotal = (CEdit*) GetDlgItem(IDC_TOTAL); CEdit* pNum = (CEdit*) GetDlgItem(IDC_NUMBER); m_nTotal = 0; pTotal->SetWindowText("0"); pNum->SetWindowText(""); pNum->SetFocus(); } BEGIN_MESSAGE_MAP(CSimpleDialog, CDialog) ON_COMMAND(IDC_ADD, OnAdd) ON_COMMAND(IDC_CLEAR, OnClear) END_MESSAGE_MAP() class CAdditionExample : public CWinApp { public: BOOL InitInstance() { CSimpleDialog additionDialog; CEdit* pTotal = (CEdit*) additionDialog.GetDlgItem(IDC_TOTAL); pTotal->SetWindowText("0"); additionDialog.DoModal(); return FALSE; } }; CAdditionExample addition_example;