GuiEdit.h
上传用户:wlkj888
上传日期:2022-08-01
资源大小:806k
文件大小:4k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. /****************************************************************************
  2.  * *  
  3.  * GuiToolKit   *
  4.  * (MFC extension) *  
  5.  * Created by Francisco Campos G. www.beyondata.com fcampos@beyondata.com *
  6.  *--------------------------------------------------------------------------*    
  7.  * *
  8.  * This program is free software; so you are free to use it any of your *
  9.  * applications(Freeware, Shareware, Commercial), but leave this header *
  10.  * intact. *
  11.  * *
  12.  * These files are provided "as is" without warranty of any kind. *
  13.  * *
  14.  *        GuiToolKit is forever FREE CODE !!!!! *
  15.  * *
  16.  *--------------------------------------------------------------------------*
  17.  * Created by: Francisco Campos G. *
  18.  * Bug Fixes and improvements :(Add your name) *
  19.  * -Francisco Campos *
  20.  * *
  21.  ****************************************************************************/
  22. #if !defined(AFX_GUIEDIT_H__176ADD8B_D16A_4814_B29B_7C5159982E70__INCLUDED_)
  23. #define AFX_GUIEDIT_H__176ADD8B_D16A_4814_B29B_7C5159982E70__INCLUDED_
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. // GuiEdit.h : header file
  28. //
  29. /////////////////////////////////////////////////////////////////////////////
  30. // CGuiEdit window
  31. #include "GuiButton.h"
  32. class GUILIBDLLEXPORT CGuiEdit : public CEdit
  33. {
  34. // Construction
  35. public:
  36. CGuiEdit();
  37. enum Mask
  38. {
  39. MASK_HOUR12       = 0,
  40. MASK_HOUR24       = 1,
  41. MASK_HOURFREE     = 2,
  42. MASK_IPADDRESS    = 3,
  43. MASK_DATEDDMMYYYY = 4,
  44. MASK_DATEMMDDYYYY = 5,
  45. MASK_DATEYYYYDDMM = 6,
  46. MASK_DATEYYYYMMDD = 7,
  47. MASK_FREEMASK     = 8
  48. };
  49. // Attributes
  50. public:
  51. void SetToolTip(LPCTSTR lpMsg);
  52. BOOL AddButton(HICON hIcon, UINT nID, CMenu* m_menu = NULL, CString mToolTip = _T(""));
  53. void RecalLayout();
  54. void SetMask(CString mszMask, CString mszShowMask, Mask enTypeMask = MASK_FREEMASK);
  55. void ValidMask(UINT nChar);
  56. int  GetNextPos(int start);
  57. BOOL IsValidChar(UINT nChar, int nStartPos);
  58. BOOL ValSpecialKey(int nStartPos, int nEndPos);
  59. BOOL IsPosMask(int StartPos);
  60. void DeleteString(int nStartPos, int  nEndPos);
  61. void AjustaCadena(int nStartPos, int  nEndPos);
  62. int  NumCharNoMask();
  63. int  FindLasCharR();
  64. void DeleteAndAjust(int nStartPos, int  nEndPos);
  65. int  DifCharReal(int start, int fin);
  66. BOOL IsValPos(UINT nChar, int pos);
  67. // CString GetMask();
  68. // Operations
  69. protected:
  70. virtual void PreSubclassWindow();
  71. virtual BOOL PreTranslateMessage(MSG* pMsg);
  72. public:
  73. CGuiButton   m_bnt;
  74. CToolTipCtrl m_tooltipCtrl;
  75. CString      m_szMask;
  76. CString      m_szShowMask;
  77. Mask         m_enMask;
  78. CString      StrToUse;
  79. CString      m_cadResult;
  80. int      m_KeySpecial;
  81. public:
  82. virtual ~CGuiEdit();
  83. // Generated message map functions
  84. protected:
  85. //{{AFX_MSG(CGuiEdit)
  86. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  87. afx_msg void OnPaint();
  88. afx_msg void OnSysColorChange();
  89. afx_msg void OnNcPaint();
  90. afx_msg void OnSize(UINT nType, int cx, int cy);
  91. afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
  92. afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  93. afx_msg void OnSetFocus(CWnd* pOldWnd);
  94. //}}AFX_MSG
  95. DECLARE_MESSAGE_MAP()
  96. };
  97. /////////////////////////////////////////////////////////////////////////////
  98. //{{AFX_INSERT_LOCATION}}
  99. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  100. #endif // !defined(AFX_GUIEDIT_H__176ADD8B_D16A_4814_B29B_7C5159982E70__INCLUDED_)