|
|
1.1 root 1: // paredit.h: C++ derived edit control for numbers/letters etc
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: #ifndef RC_INVOKED
14: #ifndef __AFXWIN_H__
15: #include <afxwin.h>
16: #endif
17: #endif
18:
19: /////////////////////////////////////////////////////////////////////////////
20: // CParsedEdit is a specialized CEdit control that only allows characters
21: // of a given type.
22: // This class is used in 3 different ways in the samples
23:
24: // Parsed edit control sub-styles
25: #define PES_NUMBERS 0x0001
26: #define PES_LETTERS 0x0002
27: #define PES_OTHERCHARS 0x0004
28: #define PES_ALL 0xFFFF
29:
30: class CParsedEdit : public CEdit
31: {
32: protected:
33: WORD m_wParseStyle; // C++ member data
34: public:
35: // Construction
36: CParsedEdit();
37:
38: // explicit construction (see DERTEST.CPP)
39: BOOL Create(DWORD dwStyle /* includes PES_ style*/, const RECT& rect,
40: CWnd* pParentWnd, UINT nID);
41:
42: // subclassed construction (see SUBTEST.CPP)
43: BOOL SubclassEdit(UINT nID, CWnd* pParent, WORD wParseStyle);
44:
45: // for WNDCLASS Registered window
46: static BOOL RegisterControlClass();
47:
48: // Overridables
49: virtual void OnBadInput();
50:
51: // Implementation
52: protected:
53: afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
54: // for character validation
55: afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
56: // for associated spin buttons
57:
58: DECLARE_MESSAGE_MAP()
59: };
60:
61: /////////////////////////////////////////////////////////////////////////////
62: // Extra control notifications
63:
64: // above the range for normal EN_ messages
65: #define PEN_ILLEGALCHAR 0x8000
66: // sent to parent when illegal character hit
67: // return 0 if you want parsed edit to beep
68:
69: /////////////////////////////////////////////////////////////////////////////
70:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.