GuiEdit.h
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:3k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. //-----------------------------------------------------------------------//
  2. // This is a part of the GuiLib MFC Extention.  //
  3. // Autor  :  Francisco Campos  //
  4. // (C) 2002 Francisco Campos <www.beyondata.com> All rights reserved     //
  5. // This code is provided "as is", with absolutely no warranty expressed  //
  6. // or implied. Any use is at your own risk.  //
  7. // You must obtain the author's consent before you can include this code //
  8. // in a software library.  //
  9. // If the source code in  this file is used in any application  //
  10. // then acknowledgement must be made to the author of this program  //
  11. // fcampos@tutopia.com  //
  12. //-----------------------------------------------------------------------//
  13. #if !defined(AFX_GUIEDIT_H__176ADD8B_D16A_4814_B29B_7C5159982E70__INCLUDED_)
  14. #define AFX_GUIEDIT_H__176ADD8B_D16A_4814_B29B_7C5159982E70__INCLUDED_
  15. #if _MSC_VER > 1000
  16. #pragma once
  17. #endif // _MSC_VER > 1000
  18. // GuiEdit.h : header file
  19. //
  20. /////////////////////////////////////////////////////////////////////////////
  21. // CGuiEdit window
  22. #include "GuiLib.h"
  23. #include "GuiButton.h"
  24. class GUILIBDLLEXPORT CGuiEdit : public CEdit
  25. {
  26. // Construction
  27. public:
  28. CGuiEdit();
  29. enum Mask{
  30. MASK_HOUR12=0,
  31. MASK_HOUR24=1,
  32. MASK_HOURFREE=2,
  33. MASK_IPADDRESS=3,
  34. MASK_DATEDDMMYYYY=4,
  35. MASK_DATEMMDDYYYY=5,
  36. MASK_DATEYYYYDDMM=6,
  37. MASK_DATEYYYYMMDD=7,
  38. MASK_FREEMASK=8
  39. };
  40. // Attributes
  41. public:
  42. void SetToolTip(LPCTSTR lpMsg);
  43. BOOL AddButton(HICON hIcon,UINT nID,CMenu* m_menu=NULL,CString mToolTip=_T(""));
  44. void RecalLayout();
  45. void SetMask(CString mszMask,CString mszShowMask,Mask enTypeMask=MASK_FREEMASK);
  46. void ValidMask(UINT nChar);
  47. int  GetNextPos(int start);
  48. BOOL IsValidChar(UINT nChar,int nStartPos);
  49. BOOL ValSpecialKey(int nStartPos, int nEndPos);
  50. BOOL IsPosMask(int StartPos);
  51. void DeleteString(int nStartPos,int  nEndPos );
  52. void AjustaCadena(int nStartPos,int  nEndPos );
  53. int  NumCharNoMask();
  54. int  FindLasCharR();
  55. void DeleteAndAjust(int nStartPos,int  nEndPos );
  56. int  DifCharReal(int start, int fin);
  57. BOOL IsValPos(UINT nChar,int pos);
  58. //CString GetMask();
  59. // Operations
  60. protected:
  61. virtual void PreSubclassWindow();
  62. virtual BOOL PreTranslateMessage(MSG* pMsg);
  63. public:
  64. CGuiButton m_bnt;
  65. CToolTipCtrl m_tooltipCtrl;
  66. CString m_szMask;
  67. CString m_szShowMask;
  68. Mask    m_enMask;
  69. CString StrToUse;
  70. CString m_cadResult;
  71. int m_KeySpecial;
  72. public:
  73. virtual ~CGuiEdit();
  74. // Generated message map functions
  75. protected:
  76. //{{AFX_MSG(CGuiEdit)
  77. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  78. afx_msg void OnPaint();
  79. afx_msg void OnSysColorChange();
  80. afx_msg void OnNcPaint();
  81. afx_msg void OnSize(UINT nType, int cx, int cy);
  82. afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
  83. afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  84. afx_msg void OnSetFocus(CWnd* pOldWnd);
  85. //}}AFX_MSG
  86. DECLARE_MESSAGE_MAP()
  87. };
  88. /////////////////////////////////////////////////////////////////////////////
  89. //{{AFX_INSERT_LOCATION}}
  90. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  91. #endif // !defined(AFX_GUIEDIT_H__176ADD8B_D16A_4814_B29B_7C5159982E70__INCLUDED_)