|
|
1.1 root 1: // dlgpen.cpp : regular dialog template using pen controls
2: //
3: // This is a part of the Microsoft Foundation Classes C++ library.
4: // Copyright (C) 1992 Microsoft Corporation
5: // All rights reserved.
6: //
7: // This source code is only intended as a supplement to the
8: // Microsoft Foundation Classes Reference and Microsoft
9: // QuickHelp documentation provided with the library.
10: // See these sources for detailed information regarding the
11: // Microsoft Foundation Classes product.
12:
13: #include "ctrltest.h"
14:
15: // we need the MFC extensions for PenWindows
16: #include <afxpen.h>
17:
18: /////////////////////////////////////////////////////////////////////////////
19: // Dialog class
20:
21: class CPenEditDlg : public CModalDialog
22: {
23: public:
24: CPenEditDlg()
25: : CModalDialog(IDD_SUB_PENEDIT)
26: { }
27:
28: // access to controls is through inline helpers
29: CHEdit& Edit1()
30: { return *(CHEdit*)GetDlgItem(IDC_EDIT1); }
31: CHEdit& Edit2()
32: { return *(CHEdit*)GetDlgItem(IDC_EDIT2); }
33: CBEdit& Edit3()
34: { return *(CBEdit*)GetDlgItem(IDC_EDIT3); }
35: CBEdit& Edit4()
36: { return *(CBEdit*)GetDlgItem(IDC_EDIT4); }
37:
38: BOOL OnInitDialog();
39: void OnOK();
40: };
41:
42: BOOL CPenEditDlg::OnInitDialog()
43: {
44: // any special init goes here
45:
46: // There are many ways to customize HEdit and BEdit controls which
47: // can be done in OnInitDialog.
48: // Here is just one example of setting BOXLAYOUT to draw complete
49: // rectangles for boxes (regardless of global defaults which is
50: // usually combs).
51: CBEdit* pBEdit = &Edit4();
52:
53: CRect rect;
54: pBEdit->GetClientRect(rect); // how high is it ?
55: BOXLAYOUT boxlayout;
56: pBEdit->GetBoxLayout(&boxlayout); // what are the current settings ?
57: boxlayout.style |= BXS_RECT;
58: boxlayout.cyCusp = rect.Height() - 10; // a reasonable size
59: VERIFY(pBEdit->SetBoxLayout(&boxlayout));
60:
61: return TRUE;
62: }
63:
64: void CPenEditDlg::OnOK()
65: {
66: #ifdef _DEBUG
67: // dump results, normally you would do something with these
68: CString s;
69: Edit1().GetWindowText(s);
70: TRACE("edit1 = '%s'\n", (const char*) s);
71: Edit2().GetWindowText(s);
72: TRACE("edit2 = '%s'\n", (const char*) s);
73: Edit3().GetWindowText(s);
74: TRACE("edit3 = '%s'\n", (const char*) s);
75: Edit4().GetWindowText(s);
76: TRACE("edit4 = '%s'\n", (const char*) s);
77: #endif
78:
79: EndDialog(IDOK);
80: }
81:
82: /////////////////////////////////////////////////////////////////////////////
83: // Run the test
84:
85: void CTestWindow::OnTestPenEditFromTemplate()
86: {
87: TRACE("running dialog with BEDIT controls in it\n");
88: CPenEditDlg dlg;
89: dlg.DoModal();
90: }
91:
92:
93: /////////////////////////////////////////////////////////////////////////////
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.