DateEdit.h 2.7 KB

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