DateEdit.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. #ifndef _MASKDEFINE_
  2. #define _MASKDEFINE_
  3. /////////////////////////////////////////////////////////////////////////////
  4. // CDateEdit window
  5. #define WM_USER_EDIT_END WM_USER+1003
  6. class CDateEdit : public CEdit
  7. {
  8. DWORD m_dwData;
  9. BOOL m_bExchange;
  10. DECLARE_DYNAMIC(CDateEdit)
  11. // Construction
  12. public:
  13. CDateEdit();
  14. void SetCtrlData(DWORD dwData);
  15. DWORD GetCtrlData();
  16. // Attributes
  17. public:
  18. BOOL m_bUseMask;//是否使用掩码
  19. BOOL m_isDate;//是否是日期格式
  20. BOOL m_isTime;//是否是时间格式
  21. BOOL m_isDateTime;//是否是日期时间格式
  22. BOOL m_isNumber; //是否是日期时间格式
  23. CString m_str;//存储用户输入的字符串
  24. CString m_strMask;//掩码
  25. CString m_strLiteral;//表示某位是否可输入,“_”表示可输入
  26. CString m_strValid;
  27. // CString m_strHours;
  28. // CString m_strMins;
  29. CString m_strName;
  30. CString m_strMaskLiteral;//存储预设的字符串,当用户输入退格键的时候使用
  31. BOOL m_bMaskKeyInProgress;
  32. // Operations
  33. public:
  34. // Overrides
  35. // ClassWizard generated virtual function overrides
  36. //{{AFX_VIRTUAL(CMaskEdit)
  37. //}}AFX_VIRTUAL
  38. // Implementation
  39. public:
  40. void SetDefault();
  41. void SetNow();
  42. void Reset();
  43. void SetClassType(LPCSTR pName, LPCSTR pMask = NULL);
  44. void SendChar(UINT nChar);
  45. void SetMask(LPCSTR lpMask, LPCSTR lpLiteral = NULL, LPCSTR lpValid = NULL);
  46. BOOL CheckChar(UINT nChar);
  47. virtual ~CDateEdit();
  48. LONG OnPaste(UINT, LONG);
  49. LONG OnCut(UINT, LONG);
  50. LONG OnClear(UINT, LONG);
  51. BOOL IsValid(const COleDateTime& date) const;
  52. // Generated message map functions
  53. protected:
  54. //{{AFX_MSG(CMaskEdit)
  55. afx_msg void OnKillFocus(CWnd* pNewWnd);
  56. afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
  57. afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  58. afx_msg void OnEnSetfocus();
  59. //}}AFX_MSG
  60. DECLARE_MESSAGE_MAP()
  61. };
  62. /*
  63. class CDateEdit : public CMaskEdit
  64. {
  65. DECLARE_DYNAMIC(CDateEdit)
  66. // Constructors
  67. public:
  68. CDateEdit();
  69. // Implementation
  70. public:
  71. void SetDate(COleDateTime& Date);
  72. COleDateTime GetDate();
  73. protected:
  74. // Generated message map functions
  75. //{{AFX_MSG(CDateEdit)
  76. //}}AFX_MSG
  77. DECLARE_MESSAGE_MAP()
  78. };
  79. class CTimeEdit : public CMaskEdit
  80. {
  81. DECLARE_DYNAMIC(CTimeEdit)
  82. // Constructors
  83. public:
  84. CTimeEdit();
  85. // Implementation
  86. public:
  87. void SetTime(COleDateTime& Date);
  88. void SetTime(CString Date);
  89. COleDateTime GetTime();
  90. CString GetTimeStr();
  91. void SetHours(int hrs);
  92. void SetMins(int mins);
  93. protected:
  94. // Generated message map functions
  95. //{{AFX_MSG(CTimeEdit)
  96. //}}AFX_MSG
  97. DECLARE_MESSAGE_MAP()
  98. };
  99. */
  100. //void AFXAPI DDX_OleDate(CDataExchange* pDX, int nIDC, CDateEdit& rControl, COleDateTime& Date);
  101. //added the line below
  102. //void AFXAPI DDX_OleDate(CDataExchange* pDX, int nIDC, CTimeEdit& rControl, COleDateTime& Date);
  103. #endif