NumEdit.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /************************************************************************/
  2. /* Copyright (C), 2016-2020, [IT], 保留所有权利;
  3. /* 模 块 名:;
  4. /* 描 述:小数,整数,负数,禁止选择多个字符事件;
  5. /*
  6. /* 版 本:[V];
  7. /* 作 者:[IT];
  8. /* 日 期:[5/28/2016];
  9. /*
  10. /*
  11. /* 注 意:该继承类在其他项目DELETE键能正常删除,但在YLGL中不行,可能原因是被Hook掉了;
  12. /*
  13. /* 修改记录:[IT];
  14. /* 修改日期:;
  15. /* 修改版本:;
  16. /* 修改内容:;
  17. /************************************************************************/
  18. #ifndef __NUM_EDIT_20160528__
  19. #define __NUM_EDIT_20160528__
  20. #pragma once
  21. // CNumEdit
  22. // 0.0001
  23. // -0.111
  24. class CNumEdit : public CEdit
  25. {
  26. DECLARE_DYNAMIC(CNumEdit)
  27. public:
  28. CNumEdit();
  29. virtual ~CNumEdit();
  30. BOOL m_bNegative; // 是否已有负号;
  31. BOOL m_bPoint; // 是否已有小数点;
  32. BOOL m_bZero; // 第一位有效数是否是0;
  33. protected:
  34. DECLARE_MESSAGE_MAP()
  35. public:
  36. afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
  37. virtual BOOL PreTranslateMessage(MSG* pMsg);
  38. // 判断是否有负号;
  39. BOOL IsNegative(){ return m_bNegative;}
  40. void SetNegative(const BOOL &bSet)
  41. {
  42. m_bNegative = bSet;
  43. }
  44. // 判断是否小数点;
  45. BOOL IsPoint(){return m_bPoint;}
  46. void SetPoint(const BOOL &bSet)
  47. {
  48. m_bPoint = bSet;
  49. }
  50. // 判断是否前端零(第1个为0, 负号后面第1个为0);
  51. BOOL IsZero(){return m_bZero;}
  52. void SetZero(const BOOL &bSet)
  53. {
  54. m_bZero = bSet;
  55. }
  56. };
  57. #endif