home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 23 / IOPROG_23.ISO / SOFT / VFORM.ZIP / Source / VEdit.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-10-10  |  4.6 KB  |  114 lines

  1. #ifndef __VEDIT_H__
  2. #define __VEDIT_H__
  3.  
  4. #include "VCtl.h"
  5. #include "VCtlHelp.h"
  6. #include "TckEdit.h"
  7.  
  8. // Macro to Set a flag in a bitmap
  9. #define SetBitFlag(bitmap, nFlag, boolVal) \
  10.                     if(boolVal)    bitmap |= nFlag; \
  11.                     else        bitmap &= ~nFlag;
  12.  
  13. // -------------------------------------------------------------------------
  14. //  VEdit helper control.
  15. // -------------------------------------------------------------------------
  16. class AFX_EXT_CLASS VEditHelper : public VCtlHelper
  17. {
  18. protected:
  19.     CTckEdit    m_ctlEdit;                // Helper CEdit class
  20.  
  21. public:
  22.     VEditHelper(CWnd *pParent);
  23.     virtual ~VEditHelper() {};
  24.  
  25.     virtual    int  Id()        { return VHELPER_TCKEDIT; }    // Helper Id (index)
  26.     static  int  HelperId()    { return VHELPER_TCKEDIT; }    // Helper Id (index)
  27.     int        GetControlId()    { return VHELPER_ID + VHELPER_TCKEDIT; }// Control ID
  28.     virtual void Hide();
  29.     virtual void Show(CRect rect);
  30.     CTckEdit*    GetControl()    { return &m_ctlEdit; }    // The actual control
  31.     CWnd*        GetCWnd()        { return &m_ctlEdit; }    // The control
  32. };
  33.  
  34.  
  35. // -------------------------------------------------------------------------
  36. //    VForm Edit Control
  37. // -------------------------------------------------------------------------
  38. class AFX_EXT_CLASS VEdit : public VCtl 
  39. {
  40. protected:
  41.     UINT    m_nFlags;            // VEdit Flags
  42.     UINT    m_nLimitText;        // Maximum Chars
  43.  
  44.     BYTE    m_nType;
  45.     short    m_nDigits;
  46.     short    m_nDecimals;
  47.     CString    m_mask;
  48.     _TCHAR    m_cPromptChar;
  49.  
  50. public:
  51.     VEdit();
  52.     VEdit(VRow *pRow, int nId, LPCTSTR szText, int x, int y, int cx, int cy);
  53.     VEdit(VEdit &x) { *this = x; }                // Copy Constructor
  54.     VEdit&    operator =(VEdit &x);                // Assignment Operator
  55.  
  56.     // --------- Get Member Functions --------------
  57.     BOOL    MultiLine()                { return (m_nFlags & VEDIT_MULTILINE); }
  58.     BOOL    ReadOnly()                { return (m_nFlags & VEDIT_READONLY); }
  59.     BOOL    Password()                { return (m_nFlags & VEDIT_PASSWORD); }
  60.     BOOL    Numeric()                { return (m_nFlags & VEDIT_NUMERIC); }
  61.     BOOL    LowerCase()                { return (m_nFlags & VEDIT_LOWERCASE); }
  62.     BOOL    UpperCase()                { return (m_nFlags & VEDIT_UPPERCASE); }
  63.     BOOL    SysBackWhenActive()        { return (m_nFlags & VEDIT_SYSBACKWHENACTIVE); }
  64.     UINT    LimitText()                { return m_nLimitText; }
  65.  
  66.     BYTE    Type()                    { return m_nType; }
  67.     short    Digits()                { return m_nDigits; }
  68.     short    Decimals()                { return m_nDecimals; }
  69.     BOOL    DollarSign()            { return (m_nFlags & VEDIT_DOLLARSIGN); }
  70.     BOOL    AddCommas()                { return (m_nFlags & VEDIT_ADDCOMMAS); }
  71.     BOOL    AllowNegative()            { return (m_nFlags & VEDIT_ALLOWNEGATIVE); }
  72.     BOOL    SaveMaskChars()            { return (m_nFlags & VEDIT_SAVEMASKCHARS); }
  73.     CString    Mask()                    { return m_mask; }
  74.     _TCHAR    PromptChar()            { return m_cPromptChar; }
  75.  
  76.  
  77.     // --------- Set Member Functions --------------
  78.     void    Init(VRow *pRow, int nId, LPCTSTR szText, int x, int y, int cx, int cy);
  79.     void    MultiLine(BOOL bFlag)            { SetBitFlag(m_nFlags, VEDIT_MULTILINE, bFlag); }
  80.     void    ReadOnly(BOOL bFlag)            { SetBitFlag(m_nFlags, VEDIT_READONLY, bFlag); }
  81.     void    Password(BOOL bFlag)            { SetBitFlag(m_nFlags, VEDIT_PASSWORD, bFlag); }
  82.     void    Numeric(BOOL bFlag)                { SetBitFlag(m_nFlags, VEDIT_NUMERIC, bFlag); }
  83.     void    LowerCase(BOOL bFlag)            { SetBitFlag(m_nFlags, VEDIT_LOWERCASE, bFlag); }
  84.     void    UpperCase(BOOL bFlag)            { SetBitFlag(m_nFlags, VEDIT_UPPERCASE, bFlag); }
  85.     void    SysBackWhenActive(BOOL bFlag)    { SetBitFlag(m_nFlags, VEDIT_SYSBACKWHENACTIVE, bFlag); }
  86.  
  87.     void    LimitText(UINT nLimit)            { m_nLimitText = nLimit; }
  88.     
  89.     void    Type(BYTE nType)                { m_nType = nType; }
  90.     void    Digits(short nDigits)            { m_nDigits = nDigits; }
  91.     void    Decimals(short nDecimals)        { m_nDecimals = nDecimals; }
  92.     void    DollarSign(BOOL bFlag)            { SetBitFlag(m_nFlags, VEDIT_DOLLARSIGN, bFlag); }
  93.     void    AddCommas(BOOL bFlag)            { SetBitFlag(m_nFlags, VEDIT_ADDCOMMAS, bFlag); }
  94.     void    AllowNegative(BOOL bFlag)        { SetBitFlag(m_nFlags, VEDIT_ALLOWNEGATIVE, bFlag); }
  95.     void    SaveMaskChars(BOOL bFlag)        { SetBitFlag(m_nFlags, VEDIT_SAVEMASKCHARS, bFlag); }
  96.     void    Mask(LPCTSTR szMask)            { m_mask = szMask; }
  97.     void    PromptChar(_TCHAR cPrompt)        { m_cPromptChar = cPrompt; }
  98.  
  99.     // --------- Implementation Functions --------------
  100.     void    DrawTextEx(CDC *pDC, CRect rect, BOOL bNoBkgrnd, BOOL bGridMode);
  101.     virtual int        IsA()                { return VCTL_EDIT; }
  102.     virtual void    OnDraw(CDC *pDC, LPRECT pRect=0, BOOL bGridMode=0);
  103.     void    SetHelperFormatFlags(CTckEdit *pEdit);
  104.  
  105.     // --------- Virtual Helper Functions --------------
  106.     virtual VCtlHelper*    CreateHelper(CWnd *pParent);
  107.     virtual int        HelperId();
  108.     virtual CRect    HelperRect(LPRECT pRect=0, BOOL bGridMode=FALSE);
  109.     virtual BOOL    IsHelperDirty(VCtlHelper* pHelper);
  110.     virtual BOOL    OnBeginHelper(VCtlHelper* pHelper);    
  111.     virtual BOOL    OnEndHelper(VCtlHelper* pHelper);
  112. };
  113.  
  114. #endif __VEDIT_H__