Commit before breaking everything
[matches/honours.git] / research / transmission_spectroscopy / TOF / Win32++ / samples / FormDemo / src / FormView.cpp
1 ///////////////////////////////////////\r
2 // FormView.cpp\r
3 \r
4 #include "stdafx.h"\r
5 #include "FormDoc.h"\r
6 #include "FormView.h"\r
7 #include "FormApp.h"\r
8 #include "resource.h"\r
9 \r
10 \r
11 // Definitions for the CFormView class\r
12 CFormView::CFormView(UINT nResID, CWnd* pParent)\r
13         : CDialog(nResID, pParent)\r
14 {\r
15         m_hInstRichEdit = ::LoadLibrary(_T("RICHED32.DLL"));\r
16         if (!m_hInstRichEdit) \r
17         {\r
18                 ::MessageBox(NULL, _T("CFormView::CRichView  Failed to load RICHED32.DLL"), \r
19                  _T(""), MB_ICONWARNING);\r
20         }\r
21 }\r
22 \r
23 CFormView::~CFormView()\r
24 {\r
25         ::FreeLibrary(m_hInstRichEdit);\r
26 }\r
27 \r
28 HWND CFormView::Create(CWnd* pParent = 0)\r
29 {\r
30         SetDlgParent(pParent);\r
31         return DoModeless();\r
32 }\r
33 \r
34 INT_PTR CFormView::DialogProc(UINT uMsg, WPARAM wParam, LPARAM lParam)\r
35 {\r
36         m_Resizer.HandleMessage(uMsg, wParam, lParam);\r
37 \r
38 //      switch (uMsg)\r
39 //      {\r
40 //              Add case statements for each messages to be handled here\r
41 //      }\r
42 \r
43         // Pass unhandled messages on to parent DialogProc\r
44         return DialogProcDefault(uMsg, wParam, lParam);\r
45 }\r
46 \r
47 void CFormView::OnCancel()\r
48 {\r
49         // Discard these messages\r
50 }\r
51 \r
52 BOOL CFormView::OnCommand(WPARAM wParam, LPARAM lParam)\r
53 {\r
54         UNREFERENCED_PARAMETER(lParam);\r
55   \r
56         WORD wpLo = LOWORD(wParam);\r
57 \r
58         switch (wpLo)\r
59         {\r
60     case IDC_BUTTON1:\r
61                 OnButton();\r
62                 return TRUE;\r
63     \r
64         case ID_RADIO_A:\r
65     case ID_RADIO_B:\r
66     case ID_RADIO_C:\r
67                 OnRangeOfIds_Radio(wpLo - ID_RADIO_A);\r
68                 return TRUE;\r
69     \r
70         case ID_CHECK_A:\r
71                 OnCheckA();\r
72                 return TRUE;\r
73     case ID_CHECK_B:\r
74                 OnCheckB();\r
75                 return TRUE;\r
76     case ID_CHECK_C:\r
77                 OnCheckC();\r
78                 return TRUE;\r
79         } \r
80   \r
81         return FALSE;\r
82 }\r
83 \r
84 BOOL CFormView::OnInitDialog()\r
85 {\r
86         // Set the Icon\r
87         SetIconLarge(IDW_MAIN);\r
88         SetIconSmall(IDW_MAIN);\r
89 \r
90         // Attach CWnd objects to the dialog items\r
91         AttachItem(IDC_BUTTON1, m_Button);\r
92         AttachItem(ID_CHECK_A,  m_CheckA);\r
93         AttachItem(ID_CHECK_B,  m_CheckB);\r
94         AttachItem(ID_CHECK_C,  m_CheckC);\r
95         AttachItem(IDC_EDIT1,   m_Edit);\r
96         AttachItem(IDC_LIST1,   m_ListBox);\r
97         AttachItem(IDOK,                m_OK);\r
98         AttachItem(ID_RADIO_A,  m_RadioA);\r
99         AttachItem(ID_RADIO_B,  m_RadioB);\r
100         AttachItem(ID_RADIO_C,  m_RadioC);\r
101         AttachItem(IDC_RICHEDIT1, m_RichEdit);\r
102         AttachItem(IDC_GROUP1,  m_Group);\r
103         AttachItem(IDC_STATUS,  m_Status);\r
104         AttachItem(IDC_BITMAP1, m_Bitmap);\r
105         \r
106         // Put some text in the edit boxes\r
107         SetDlgItemText(IDC_EDIT1, _T("Edit Control"));\r
108         SetDlgItemText(IDC_RICHEDIT1, _T("Rich Edit Window"));\r
109 \r
110         // Put some text in the list box\r
111         for (int i = 0 ; i < 8 ; i++) \r
112         {\r
113                 m_ListBox.AddString(_T("List Box"));\r
114         }\r
115 \r
116         // Set initial button states\r
117         BOOL bCheck = GetDoc().GetCheckA();\r
118         m_CheckA.SetCheck(bCheck);\r
119 \r
120         bCheck = GetDoc().GetCheckB();\r
121         m_CheckB.SetCheck(bCheck);\r
122 \r
123         bCheck = GetDoc().GetCheckC();\r
124         m_CheckC.SetCheck(bCheck);\r
125 \r
126         UINT curRadio = GetDoc().GetRadio();\r
127         OnRangeOfIds_Radio(curRadio);\r
128         \r
129         // Initialize dialog resizing\r
130         m_Resizer.Initialize( this, CRect(0, 0, 300, 270) );\r
131         m_Resizer.AddChild(m_RadioA,   topleft, 0);\r
132         m_Resizer.AddChild(m_RadioB,   topleft, 0);\r
133         m_Resizer.AddChild(m_RadioC,   topleft, 0);\r
134         m_Resizer.AddChild(m_CheckA,   topleft, 0);\r
135         m_Resizer.AddChild(m_CheckB,   topleft, 0);\r
136         m_Resizer.AddChild(m_CheckC,   topleft, 0);\r
137         m_Resizer.AddChild(m_Button,   topleft, 0);\r
138         m_Resizer.AddChild(m_Edit,     topleft, RD_STRETCH_WIDTH);\r
139         m_Resizer.AddChild(m_ListBox,  topleft, RD_STRETCH_WIDTH);\r
140         m_Resizer.AddChild(m_RichEdit, topleft, RD_STRETCH_WIDTH | RD_STRETCH_HEIGHT);\r
141         m_Resizer.AddChild(m_Bitmap,   topright, 0);\r
142         m_Resizer.AddChild(m_OK,       bottomright, 0);\r
143         m_Resizer.AddChild(m_Group,    bottomright, RD_STRETCH_HEIGHT);\r
144         m_Resizer.AddChild(m_Status,   bottomright, RD_STRETCH_HEIGHT);\r
145         \r
146         return true;\r
147 }\r
148 \r
149 void CFormView::OnOK()\r
150 {\r
151         SetDlgItemText(IDC_STATUS, _T("OK Button Pressed."));\r
152         TRACE(_T("OK Button Pressed.\n"));\r
153 }\r
154 \r
155 void CFormView::OnButton()\r
156 {\r
157         SetDlgItemText(IDC_STATUS, _T("Button Pressed"));\r
158         TRACE(_T("Button Pressed\n"));\r
159 }\r
160 \r
161 void CFormView::OnCheckA()\r
162 {\r
163         TRACE(_T("Check Box A\n"));\r
164         BOOL bCheck = GetDoc().GetCheckA();\r
165         bCheck = !bCheck;  // Toggle\r
166         SendDlgItemMessage(ID_CHECK_A, BM_SETCHECK, bCheck, 0);\r
167         GetDoc().SetCheckA(bCheck);\r
168 \r
169         SetDlgItemText(IDC_STATUS, _T("Check Box A toggled"));\r
170 }\r
171 \r
172 void CFormView::OnCheckB()\r
173 {\r
174         TRACE(_T("Check Box B\n"));\r
175         BOOL bCheck = GetDoc().GetCheckB();\r
176         bCheck = !bCheck;  // Toggle\r
177         SendDlgItemMessage(ID_CHECK_B, BM_SETCHECK, bCheck, 0);\r
178         GetDoc().SetCheckB(bCheck);\r
179 \r
180         SetDlgItemText(IDC_STATUS, _T("Check Box B toggled"));\r
181 }\r
182 \r
183 void CFormView::OnCheckC()\r
184 {\r
185         TRACE(_T("Check Box C\n"));\r
186         BOOL bCheck = GetDoc().GetCheckC();\r
187         bCheck = !bCheck;  // Toggle\r
188         SendDlgItemMessage(ID_CHECK_C, BM_SETCHECK, bCheck, 0);\r
189         GetDoc().SetCheckC(bCheck);\r
190 \r
191         SetDlgItemText(IDC_STATUS, _T("Check Box C toggled"));\r
192 }\r
193 \r
194 void CFormView::OnRangeOfIds_Radio(UINT nIdAdjust)\r
195 {\r
196         SendDlgItemMessage(ID_RADIO_A, BM_SETCHECK, FALSE, 0);\r
197         SendDlgItemMessage(ID_RADIO_B, BM_SETCHECK, FALSE, 0);\r
198         SendDlgItemMessage(ID_RADIO_C, BM_SETCHECK, FALSE, 0);\r
199         SendDlgItemMessage(ID_RADIO_A + nIdAdjust, BM_SETCHECK, TRUE, 0);\r
200         GetDoc().SetRadio(nIdAdjust);\r
201 \r
202         SetDlgItemText(IDC_STATUS, _T("Radio changed"));\r
203         TRACE(_T("Radio changed\n"));\r
204 }\r
205 \r

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