PasswordControl.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #ifndef PASSWORD_CONTROL_HEAD_FILE
  2. #define PASSWORD_CONTROL_HEAD_FILE
  3. #pragma once
  4. //////////////////////////////////////////////////////////////////////////////////
  5. //密码键盘
  6. class CPasswordKeyboard : public CDialog,public ISkinControl
  7. {
  8. //配置变量
  9. protected:
  10. INT m_nRandLine[4]; //随机数字
  11. INT m_nItemCount[4]; //字符数目
  12. TCHAR m_szKeyboradChar[4][2][14]; //键盘字符
  13. //键盘状态
  14. protected:
  15. bool m_bShiftStatus; //按键状态
  16. bool m_bCapsLockStatus; //按键状态
  17. //状态变量
  18. protected:
  19. WORD m_wHoverRow; //盘旋列数
  20. WORD m_wHoverLine; //盘旋行数
  21. bool m_bMouseDown; //按下状态
  22. //资源大小
  23. protected:
  24. CSize m_SizeImageItem1; //资源大小
  25. CSize m_SizeImageItem2; //资源大小
  26. CSize m_SizeImageItem3; //资源大小
  27. CSize m_SizeBackGround; //背景大小
  28. CSize m_SizeImageButton; //资源大小
  29. CImageEx *m_pImageItem1;
  30. CImageEx *m_pImageItem2;
  31. CImageEx *m_pImageItem3;
  32. CImageEx *m_pImageButton;
  33. CImageEx *m_pImageBackGround;
  34. CSkinEdit *m_pEdit;
  35. //函数定义
  36. public:
  37. //构造函数
  38. CPasswordKeyboard();
  39. //析构函数
  40. virtual ~CPasswordKeyboard();
  41. //绑定函数
  42. public:
  43. void SetBuddy(CSkinEdit*pEdit);
  44. //重载函数
  45. protected:
  46. //消息解释
  47. virtual BOOL PreTranslateMessage(MSG * pMsg);
  48. //创建函数
  49. virtual BOOL OnInitDialog();
  50. //确定函数
  51. virtual VOID OnOK() { return; }
  52. //取消消息
  53. virtual VOID OnCancel() { return; }
  54. //辅助函数
  55. protected:
  56. //更新位置
  57. VOID SetCurrentStation(CPoint MousePoint);
  58. //虚拟编码
  59. WORD GetVirualKeyCode(WORD wHoverLine, WORD wHoverRow);
  60. //消息定义
  61. protected:
  62. //界面绘画
  63. VOID OnNcPaint();
  64. //绘画背景
  65. BOOL OnEraseBkgnd(CDC * pDC);
  66. //失去焦点
  67. VOID OnKillFocus(CWnd * pNewWnd);
  68. //鼠标消息
  69. VOID OnLButtonUp(UINT nFlags, CPoint Point);
  70. //鼠标消息
  71. VOID OnLButtonDown(UINT nFlags, CPoint Point);
  72. //光标消息
  73. BOOL OnSetCursor(CWnd * pWnd, UINT nHitTest, UINT uMessage);
  74. DECLARE_MESSAGE_MAP()
  75. };
  76. //////////////////////////////////////////////////////////////////////////////////
  77. #endif