--- /dev/null
+///////////////////////////////////////\r
+// MyDialog.cpp\r
+\r
+#include "stdafx.h"\r
+#include "MyDialog.h"\r
+#include "resource.h"\r
+\r
+\r
+// Definitions for the CMyDialog class\r
+CMyDialog::CMyDialog(UINT nResID, CWnd* pParent)\r
+ : CDialog(nResID, pParent)\r
+{\r
+ m_hInstRichEdit = ::LoadLibrary(_T("RICHED32.DLL"));\r
+ if (!m_hInstRichEdit)\r
+ ::MessageBox(NULL, _T("CMyDialog::CRichView Failed to load RICHED32.DLL"), _T(""), MB_ICONWARNING);\r
+}\r
+\r
+CMyDialog::~CMyDialog()\r
+{\r
+ ::FreeLibrary(m_hInstRichEdit);\r
+}\r
+\r
+INT_PTR CMyDialog::DialogProc(UINT uMsg, WPARAM wParam, LPARAM lParam)\r
+{\r
+ // Pass resizing messages on to the resizer\r
+ m_Resizer.HandleMessage(uMsg, wParam, lParam);\r
+\r
+// switch (uMsg)\r
+// {\r
+ //Additional messages to be handled go here\r
+// }\r
+\r
+ // Pass unhandled messages on to parent DialogProc\r
+ return DialogProcDefault(uMsg, wParam, lParam);\r
+}\r
+\r
+BOOL CMyDialog::OnCommand(WPARAM wParam, LPARAM lParam)\r
+{\r
+ UNREFERENCED_PARAMETER(lParam);\r
+\r
+ switch (LOWORD(wParam))\r
+ {\r
+ case IDC_BUTTON1:\r
+ OnButton();\r
+ return TRUE;\r
+ case IDC_RADIO1:\r
+ OnRadio1();\r
+ return TRUE;\r
+ case IDC_RADIO2:\r
+ OnRadio2();\r
+ return TRUE;\r
+ case IDC_RADIO3:\r
+ OnRadio3();\r
+ return TRUE;\r
+ case IDC_CHECK1:\r
+ OnCheck1();\r
+ return TRUE;\r
+ case IDC_CHECK2:\r
+ OnCheck2();\r
+ return TRUE;\r
+ case IDC_CHECK3:\r
+ OnCheck3();\r
+ return TRUE;\r
+ } //switch (LOWORD(wParam))\r
+\r
+ return FALSE;\r
+}\r
+\r
+BOOL CMyDialog::OnInitDialog()\r
+{\r
+ // Set the Icon\r
+ SetIconLarge(IDW_MAIN);\r
+ SetIconSmall(IDW_MAIN);\r
+\r
+ // Attach CWnd objects to the dialog items\r
+ AttachItem(IDC_BUTTON1, m_Button);\r
+ AttachItem(IDC_CHECK1, m_CheckA);\r
+ AttachItem(IDC_CHECK2, m_CheckB);\r
+ AttachItem(IDC_CHECK3, m_CheckC);\r
+ AttachItem(IDC_RADIO1, m_RadioA);\r
+ AttachItem(IDC_RADIO2, m_RadioB);\r
+ AttachItem(IDC_RADIO3, m_RadioC);\r
+ AttachItem(IDC_RICHEDIT1, m_RichEdit1);\r
+ AttachItem(IDC_RICHEDIT2, m_RichEdit2);\r
+\r
+ // Put some text in the edit boxes\r
+ SetDlgItemText(IDC_RICHEDIT1, _T("Rich Edit Window"));\r
+ SetDlgItemText(IDC_RICHEDIT2, _T("Rich Edit Window"));\r
+\r
+ // Initialize dialog resizing\r
+ m_Resizer.Initialize( this, CRect(0, 0, 300, 200) ); \r
+ m_Resizer.AddChild(m_RadioA, topleft, 0);\r
+ m_Resizer.AddChild(m_RadioB, topleft, 0);\r
+ m_Resizer.AddChild(m_RadioC, topleft, 0);\r
+ m_Resizer.AddChild(m_Button, topleft, 0);\r
+ m_Resizer.AddChild(m_CheckA, bottomright, 0);\r
+ m_Resizer.AddChild(m_CheckB, bottomright, 0);\r
+ m_Resizer.AddChild(m_CheckC, bottomright, 0);\r
+ m_Resizer.AddChild(m_RichEdit1, topright, RD_STRETCH_WIDTH);\r
+ m_Resizer.AddChild(m_RichEdit2, bottomleft, RD_STRETCH_WIDTH| RD_STRETCH_HEIGHT);\r
+ \r
+ return true;\r
+}\r
+\r
+void CMyDialog::OnOK()\r
+{\r
+ MessageBox(_T("OK Button Pressed. Program will exit now."), _T("Button"), MB_OK);\r
+ CDialog::OnOK();\r
+}\r
+\r
+void CMyDialog::OnButton()\r
+{\r
+ SetDlgItemText(IDC_STATIC3, _T("Button Pressed"));\r
+ TRACE(_T("Button Pressed\n"));\r
+}\r
+\r
+void CMyDialog::OnCheck1()\r
+{\r
+ SetDlgItemText(IDC_STATIC3, _T("Check Box 1"));\r
+ TRACE(_T("Check Box 1\n"));\r
+}\r
+\r
+void CMyDialog::OnCheck2()\r
+{\r
+ SetDlgItemText(IDC_STATIC3, _T("Check Box 2"));\r
+ TRACE(_T("Check Box 2\n"));\r
+}\r
+\r
+void CMyDialog::OnCheck3()\r
+{\r
+ SetDlgItemText(IDC_STATIC3, _T("Check Box 3"));\r
+ TRACE(_T("Check Box 3\n"));\r
+}\r
+\r
+void CMyDialog::OnRadio1()\r
+{\r
+ SetDlgItemText(IDC_STATIC3, _T("Radio 1"));\r
+ TRACE(_T("Radio 1\n"));\r
+}\r
+\r
+void CMyDialog::OnRadio2()\r
+{\r
+ SetDlgItemText(IDC_STATIC3, _T("Radio 2"));\r
+ TRACE(_T("Radio 2\n"));\r
+}\r
+\r
+void CMyDialog::OnRadio3()\r
+{\r
+ SetDlgItemText(IDC_STATIC3, _T("Radio 3"));\r
+ TRACE(_T("Radio 3\n"));\r
+}\r
+\r
+BOOL CMyDialog::OnEraseBkgnd(CDC* pDC)\r
+{\r
+ // Adding a gripper to a resizable dialog is a bit of a hack, but since it\r
+ // is often done, here is one method of doing it safely.\r
+\r
+ // Draw the dialog's background manually\r
+ CRect rc = GetClientRect();\r
+ CClientDC dcClient(this); \r
+ dcClient.SolidFill(GetSysColor(COLOR_3DFACE), rc);\r
+\r
+ // draw size grip\r
+ if (rc.Width() > m_Resizer.GetMinRect().Width() && rc.Height() > m_Resizer.GetMinRect().Height())\r
+ {\r
+ int size = GetSystemMetrics(SM_CXVSCROLL);\r
+ rc.left = rc.right - size;\r
+ rc.top = rc.bottom - size;\r
+ dcClient.DrawFrameControl(rc, DFC_SCROLL, DFCS_SCROLLSIZEGRIP);\r
+ }\r
+ \r
+ // Suppress default background drawing\r
+ return TRUE;\r
+}
\ No newline at end of file