|
|
1.1 root 1: // ctrltest.h : main window class interface
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:
14: #ifndef RC_INVOKED
15: #include <afxwin.h>
16: #else
17: #include <windows.h>
18: #include <afxres.h>
19: #endif
20:
21: /////////////////////////////////////////////////////////////////////////////
22:
23: /////////////////////////////////
24: // Menu command IDs
25:
26: #define IDM_EXIT 100
27: #define IDM_ABOUT 101
28:
29: // Simple tests
30: #define IDM_TEST_DERIVED_EDIT 200
31: #define IDM_TEST_WNDCLASS_EDIT 201
32: #define IDM_TEST_SUB_EDIT 202
33:
34: // Pen edit tests
35: #define IDM_TEST_PENEDIT_CODE 300
36: #define IDM_TEST_PENEDIT_TEMPLATE 301
37: #define IDM_TEST_PENEDIT_FEATURES 302
38:
39: // custom control tests
40: #define IDM_TEST_BITMAP_BUTTON1 400
41: #define IDM_TEST_BITMAP_BUTTON2 401
42: #define IDM_TEST_CUSTOM_MENU 402
43: #define IDM_TEST_CUSTOM_LIST 403
44: #define IDM_TEST_SPIN_EDIT 404
45:
46: // custom menu test - menu ids: BASE + RGB bits : 8 colors max
47:
48: #define IDM_COLOR_FIRST 500
49: #define IDM_COLOR_BLACK (IDM_COLOR_FIRST + 0)
50: #define IDM_COLOR_BLUE (IDM_COLOR_FIRST + 1)
51: #define IDM_COLOR_GREEN (IDM_COLOR_FIRST + 2)
52: #define IDM_COLOR_CYAN (IDM_COLOR_FIRST + 3)
53: #define IDM_COLOR_RED (IDM_COLOR_FIRST + 4)
54: #define IDM_COLOR_MAGENTA (IDM_COLOR_FIRST + 5)
55: #define IDM_COLOR_YELLOW (IDM_COLOR_FIRST + 6)
56: #define IDM_COLOR_WHITE (IDM_COLOR_FIRST + 7)
57:
58: #define IDM_COLOR_LAST (IDM_COLOR_FIRST + 7)
59:
60: /////////////////////////////////
61: // Dialog IDs are same as related menu commands
62:
63: #define IDD_ABOUT IDM_ABOUT
64: #define IDD_DERIVED_EDIT IDM_TEST_DERIVED_EDIT
65: #define IDD_WNDCLASS_EDIT IDM_TEST_WNDCLASS_EDIT
66: #define IDD_SUB_EDIT IDM_TEST_SUB_EDIT
67: #define IDD_SUB_PENEDIT IDM_TEST_PENEDIT_TEMPLATE
68: #define IDD_PENEDIT_FEATURES IDM_TEST_PENEDIT_FEATURES
69: #define IDD_SPIN_EDIT IDM_TEST_SPIN_EDIT
70: #define IDD_CUSTOM_LIST IDM_TEST_CUSTOM_LIST
71:
72: /////////////////////////////////
73: // Specific control commands and dialogs
74: // other special IDs for controls and dialogs
75:
76: // configure local pen edit
77: #define IDC_CONFIGURE 1000
78: #define IDD_PENEDIT_CONFIGURE IDC_CONFIGURE
79: #define IDC_LEFTHANDED 1001
80:
81: // ALC configuration
82: #define IDC_ALC_FIRST 1100
83: #define IDC_ALC_LAST (IDC_ALC_MIN + 31) // at most 32 bits
84:
85: /////////////////////////////////
86: // other general control IDs
87:
88: #define IDC_EDIT1 2101
89: #define IDC_EDIT2 2102
90: #define IDC_EDIT3 2103
91: #define IDC_EDIT4 2104
92:
93: #define IDC_BUTTON1 2201
94: #define IDC_BUTTON2 2202
95: #define IDC_BUTTON3 2203
96: #define IDC_BUTTON4 2204
97:
98: #define IDC_LISTBOX1 2301
99:
100: /////////////////////////////////////////////////////////////////////////////
101: // ColorMenu - used for custom menu test
102: // included here to show how it should be embedded as a member of the
103: // main frame window that uses it
104:
105: class CColorMenu : public CMenu
106: {
107: public:
108: // Operations
109: void AppendColorMenuItem(UINT nID, COLORREF color);
110:
111: // Implementation
112: virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMIS);
113: virtual void DrawItem(LPDRAWITEMSTRUCT lpDIS);
114: CColorMenu();
115: virtual ~CColorMenu();
116: };
117:
118: /////////////////////////////////////////////////////////////////////////////
119: // Main Window
120: // used as the context for running all the tests
121:
122: class CTestWindow : public CFrameWnd
123: {
124: public:
125: // construction helpers
126: void SetupMenus();
127:
128: protected:
129: // command handlers
130: afx_msg void OnExit();
131: afx_msg void OnAbout();
132:
133: // simple tests
134: afx_msg void OnTestDerivedEdit();
135: afx_msg void OnTestWndClassEdit();
136: afx_msg void OnTestSubclassedEdit();
137:
138: #ifndef _NTWIN
139: // pen tests
140: afx_msg void OnTestPenEditFromCode();
141: afx_msg void OnTestPenEditFromTemplate();
142: afx_msg void OnTestPenEditFeatures();
143: #endif
144:
145: // custom control tests
146: afx_msg void OnTestBitmapButton1();
147: afx_msg void OnTestBitmapButton2();
148: afx_msg void OnTestCustomList();
149: afx_msg void OnTestSpinEdit();
150:
151: // custom menu tests
152: void AttachCustomMenu();
153: CColorMenu m_colorMenu;
154: virtual BOOL OnCommand(UINT wParam, LONG lParam);
155:
156: // Implementation
157: virtual void PostNcDestroy();
158: DECLARE_MESSAGE_MAP()
159: };
160:
161: /////////////////////////////////////////////////////////////////////////////
162:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.