1 ///////////////////////////////////////
\r
6 #include "FormView.h"
\r
8 #include "resource.h"
\r
11 // Definitions for the CFormView class
\r
12 CFormView::CFormView(UINT nResID, CWnd* pParent)
\r
13 : CDialog(nResID, pParent)
\r
15 m_hInstRichEdit = ::LoadLibrary(_T("RICHED32.DLL"));
\r
16 if (!m_hInstRichEdit)
\r
18 ::MessageBox(NULL, _T("CFormView::CRichView Failed to load RICHED32.DLL"),
\r
19 _T(""), MB_ICONWARNING);
\r
23 CFormView::~CFormView()
\r
25 ::FreeLibrary(m_hInstRichEdit);
\r
28 HWND CFormView::Create(CWnd* pParent = 0)
\r
30 SetDlgParent(pParent);
\r
31 return DoModeless();
\r
34 INT_PTR CFormView::DialogProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
\r
36 m_Resizer.HandleMessage(uMsg, wParam, lParam);
\r
40 // Add case statements for each messages to be handled here
\r
43 // Pass unhandled messages on to parent DialogProc
\r
44 return DialogProcDefault(uMsg, wParam, lParam);
\r
47 void CFormView::OnCancel()
\r
49 // Discard these messages
\r
52 BOOL CFormView::OnCommand(WPARAM wParam, LPARAM lParam)
\r
54 UNREFERENCED_PARAMETER(lParam);
\r
56 WORD wpLo = LOWORD(wParam);
\r
67 OnRangeOfIds_Radio(wpLo - ID_RADIO_A);
\r
84 BOOL CFormView::OnInitDialog()
\r
87 SetIconLarge(IDW_MAIN);
\r
88 SetIconSmall(IDW_MAIN);
\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
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
110 // Put some text in the list box
\r
111 for (int i = 0 ; i < 8 ; i++)
\r
113 m_ListBox.AddString(_T("List Box"));
\r
116 // Set initial button states
\r
117 BOOL bCheck = GetDoc().GetCheckA();
\r
118 m_CheckA.SetCheck(bCheck);
\r
120 bCheck = GetDoc().GetCheckB();
\r
121 m_CheckB.SetCheck(bCheck);
\r
123 bCheck = GetDoc().GetCheckC();
\r
124 m_CheckC.SetCheck(bCheck);
\r
126 UINT curRadio = GetDoc().GetRadio();
\r
127 OnRangeOfIds_Radio(curRadio);
\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
149 void CFormView::OnOK()
\r
151 SetDlgItemText(IDC_STATUS, _T("OK Button Pressed."));
\r
152 TRACE(_T("OK Button Pressed.\n"));
\r
155 void CFormView::OnButton()
\r
157 SetDlgItemText(IDC_STATUS, _T("Button Pressed"));
\r
158 TRACE(_T("Button Pressed\n"));
\r
161 void CFormView::OnCheckA()
\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
169 SetDlgItemText(IDC_STATUS, _T("Check Box A toggled"));
\r
172 void CFormView::OnCheckB()
\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
180 SetDlgItemText(IDC_STATUS, _T("Check Box B toggled"));
\r
183 void CFormView::OnCheckC()
\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
191 SetDlgItemText(IDC_STATUS, _T("Check Box C toggled"));
\r
194 void CFormView::OnRangeOfIds_Radio(UINT nIdAdjust)
\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
202 SetDlgItemText(IDC_STATUS, _T("Radio changed"));
\r
203 TRACE(_T("Radio changed\n"));
\r