Commit before breaking everything
[matches/honours.git] / research / transmission_spectroscopy / TOF / Win32++ / samples / DialogResizing / src / MyDialog.cpp
diff --git a/research/transmission_spectroscopy/TOF/Win32++/samples/DialogResizing/src/MyDialog.cpp b/research/transmission_spectroscopy/TOF/Win32++/samples/DialogResizing/src/MyDialog.cpp
new file mode 100644 (file)
index 0000000..ce7a8f7
--- /dev/null
@@ -0,0 +1,174 @@
+///////////////////////////////////////\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

UCC git Repository :: git.ucc.asn.au