MyDateEdit.h
上传用户:jzscgs158
上传日期:2022-05-25
资源大小:8709k
文件大小:2k
源码类别:

百货/超市行业

开发平台:

Visual C++

  1. //
  2. //时间和日期型的掩码型的输入
  3. //-------------------------------------------------------设计人:牛文平
  4. #ifndef _MYMASKDEFINE_
  5. #define _MYMASKDEFINE_
  6. //定义三种形式的数据类型
  7. #define edit_date 1
  8. #define edit_time 2
  9. #define edit_datetime 3
  10. #include<comdef.h>
  11. class CMyDateEdit : public CEdit
  12. {
  13. DECLARE_DYNAMIC(CMyDateEdit)
  14. public:
  15. CMyDateEdit();
  16. public:
  17. //是否使用掩码
  18. BOOL m_bUseMask;
  19. //是否是日期格式
  20. BOOL m_isDate;
  21. //是否是时间格式
  22. BOOL m_isTime;
  23. //是否是日期时间格式
  24. BOOL m_isDateTime; 
  25. //存储用户输入的字符串
  26. CString m_str;
  27. //掩码
  28. CString m_strMask;
  29. //表示某位是否可输入,“_”表示可输入
  30. CString m_strLiteral;
  31. //存储预设的字符串,当用户输入退格键的时候使用
  32. CString m_strMaskLiteral;
  33. BOOL m_bMaskKeyInProgress;
  34. public:
  35. //缺省
  36. void SetDefault();
  37. //设置成当前时间
  38. void SetNow();
  39. //重新设置
  40. void Reset();
  41. //设置类型
  42. void SetClassType(int intStyle);
  43. //返回字符串
  44. CString GetText();
  45. //设置字符型数据
  46. void SetText(CString strText);
  47. //设置检测正确的时间
  48. void SetDetectText(CString strText);
  49. //得到检测正确的时间
  50. CString GetDetectText();
  51. //设置时间值,将自动进行转换成所需的字符串
  52. void SetTimeValue(COleDateTime tm);
  53. //模拟发送一字符进行操作
  54. void SendChar(UINT nChar);
  55. //检查字符合法性
  56. BOOL CheckChar(UINT nChar);
  57. //析构函数
  58. virtual ~CMyDateEdit();
  59. //粘贴屏蔽
  60.     LONG OnPaste(UINT, LONG);
  61. //剪切屏蔽
  62.     LONG OnCut(UINT, LONG);
  63. //清空屏蔽
  64.     LONG OnClear(UINT, LONG);
  65. //检测日期型的字符
  66. BOOL CheckDate(char nchar,int StartPos,int StartEnd);
  67. //检测时间性的字符
  68. BOOL CheckTime(char nchar,int StartPos,int StratEnd);
  69. protected:
  70. //{{AFX_MSG(CMaskEdit)
  71. afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
  72. afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  73. afx_msg void OnKillFocus(CWnd* pNewWnd);
  74. //}}AFX_MSG
  75. DECLARE_MESSAGE_MAP()
  76. };
  77. #endif