#include #include "resource.h" // ------------------------------------------------------------------------ class InternalData { public: CString getData(); void setData(CString); private: CString data; }; // ------------------------------------------------------------------------ CString InternalData::getData() { return data; } // ------------------------------------------------------------------------ void InternalData::setData(CString new_data) { data = new_data; } // ------------------------------------------------------------------------ // ------------------------------------------------------------------------ InternalData DATA; // ------------------------------------------------------------------------ // ------------------------------------------------------------------------ class CStatusDialog : public CDialog { public: CStatusDialog() : CDialog(STATUS_DIALOG) {}; afx_msg void OnOK(); afx_msg void OnQuit(); BOOL CStatusDialog::OnInitDialog(); private: DECLARE_MESSAGE_MAP() }; // ------------------------------------------------------------------------ afx_msg void CStatusDialog::OnOK() { EndDialog(IDOK); } // ------------------------------------------------------------------------ afx_msg void CStatusDialog::OnQuit() { EndDialog(IDCANCEL); } // ------------------------------------------------------------------------ BOOL CStatusDialog::OnInitDialog() { CDialog::OnInitDialog(); CEdit* pData; pData = (CEdit*) GetDlgItem(IDC_DATA_STATUS); pData->SetWindowText(DATA.getData()); return TRUE; } // ------------------------------------------------------------------------ BEGIN_MESSAGE_MAP(CStatusDialog, CDialog) ON_COMMAND(IDC_OK, OnOK) ON_COMMAND(IDC_QUIT, OnQuit) END_MESSAGE_MAP() // ------------------------------------------------------------------------ // ------------------------------------------------------------------------ class CMainDialog : public CDialog { public: CMainDialog() : CDialog(MAIN_DIALOG) { } afx_msg void OnShowStatus(); afx_msg void OnSetData(); afx_msg void OnButton1(); private: DECLARE_MESSAGE_MAP() }; // ------------------------------------------------------------------------ afx_msg void CMainDialog::OnShowStatus() { int rv; CStatusDialog status_dialog; rv = status_dialog.DoModal(); if (rv == IDCANCEL) { MessageBox("Thanks for using this software", "Thanks!"); EndDialog(IDCANCEL); } } // ------------------------------------------------------------------------ afx_msg void CMainDialog::OnButton1() { EndDialog(IDOK); } // ------------------------------------------------------------------------ afx_msg void CMainDialog::OnSetData() { CEdit* pData; char buffer[80]; // ==================== NEW CODE =============================== char buffer2[80], buffer3[80]; // ==================== END NEW CODE =========================== pData = (CEdit*) GetDlgItem(IDC_DATA_INPUT); pData->GetWindowText(buffer, 80); DATA.setData(buffer); // ==================== NEW CODE =============================== CListBox* pLB; pLB = (CListBox*) GetDlgItem(IDC_Items); // pLB->AddString(buffer); pLB->InsertString(pLB->GetCount(), buffer); // ==================== END NEW CODE =========================== // MessageBox("Data set to '" + DATA.getData() + "'.", "Data Set!"); // ==================== NEW CODE =============================== for (int i=0; i < pLB->GetCount(); i++) { pLB->GetText(i, buffer); strcpy(buffer2, "Item at index: "); itoa(i, buffer3, 10); strcat(buffer2, buffer3); MessageBox(buffer, buffer2); } // ==================== END NEW CODE =========================== } // ------------------------------------------------------------------------ BEGIN_MESSAGE_MAP(CMainDialog, CDialog) ON_COMMAND(IDC_SHOW_STATUS, OnShowStatus) ON_COMMAND(IDC_SET_DATA, OnSetData) ON_COMMAND(IDC_BUTTON1, OnButton1) END_MESSAGE_MAP() // ------------------------------------------------------------------------ // ------------------------------------------------------------------------ class CMainApp : public CWinApp { public: BOOL InitInstance() { int rv = IDOK; CMainDialog main; while (rv == IDOK) { MessageBox(0,"I'm resetting", "Restarting", MB_OK); rv = main.DoModal(); } return FALSE; } }; // ------------------------------------------------------------------------ CMainApp theApplication;