// XTPMaskEdit.h interface for the CXTPMaskEdit class. // // This file is a part of the XTREME CONTROLS MFC class library. // (c)1998-2012 Codejock Software, All Rights Reserved. // // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN // CONSENT OF CODEJOCK SOFTWARE. // // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A // SINGLE COMPUTER. // // CONTACT INFORMATION: // support@codejock.com // http://www.codejock.com // ///////////////////////////////////////////////////////////////////////////// //{{AFX_CODEJOCK_PRIVATE #if !defined(__XTPMASKEDIT_H__) #define __XTPMASKEDIT_H__ //}}AFX_CODEJOCK_PRIVATE #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 //=========================================================================== // Summary: // CXTPMaskEdit is a CXTPEdit derived class. It allows text masking to be // applied to the control to format it for special editing restrictions. //=========================================================================== class _XTP_EXT_CLASS CXTPMaskEdit : public CXTPEdit { DECLARE_DYNAMIC(CXTPMaskEdit) public: //----------------------------------------------------------------------- // Summary: // Constructs a CXTPMaskEdit object //----------------------------------------------------------------------- CXTPMaskEdit(); // ---------------------------------------------------------------------- // Summary: // Initializes the CXTPMaskEdit control. // Remarks: // Call this member function to initialize edit control. You can // call this after you have created or subclassed your edit // control. // Parameters: // pParentWnd - Pointer to the parent of the edit control. // Returns: // True if the control was successfully initialized, otherwise false. // ---------------------------------------------------------------------- virtual bool Initialize(CWnd* pParentWnd); }; //=========================================================================== // Summary: // CXTPDateEdit is a CXTPMaskEdit derived class. It is specifically // geared toward editing date fields. //=========================================================================== class _XTP_EXT_CLASS CXTPDateEdit : public CXTPMaskEdit { DECLARE_DYNAMIC(CXTPDateEdit) public: //----------------------------------------------------------------------- // Summary: // Constructs a CXTPDateEdit object //----------------------------------------------------------------------- CXTPDateEdit(); //----------------------------------------------------------------------- // Summary: // This member function will set the time based on the text string // passed in as 'strDate'. // Parameters: // dt - A reference to a COleDateTime object that represents the // date to display. // strDate - A NULL terminated string that represents the date to display. //----------------------------------------------------------------------- virtual void SetDateTime(COleDateTime& dt); virtual void SetDateTime(LPCTSTR strDate); // //----------------------------------------------------------------------- // Summary: // This member function will retrieve a COleDateTime object that // represents the currently displayed date. // Returns: // A COleDateTime object representing the currently displayed date. //----------------------------------------------------------------------- virtual COleDateTime GetDateTime(); //----------------------------------------------------------------------- // Summary: // This member function will retrieve a CString object that represents // the currently displayed date. // Returns: // A CString object representing the currently displayed date. //----------------------------------------------------------------------- virtual CString GetWindowDateTime(); //----------------------------------------------------------------------- // Summary: // This member function will read the date string passed in as 'lpszData' // and is converted and returned as a COleDateTime object. // Parameters: // lpszData - A NULL terminated string that represents the date to convert. // Returns: // A COleDateTime object that represents the converted date string. //----------------------------------------------------------------------- virtual COleDateTime ReadOleDateTime(LPCTSTR lpszData); //----------------------------------------------------------------------- // Summary: // This member function is used internally to process the character passed // in by 'nChar' whose index is specified by 'nEndPos'. // Parameters: // nChar - Contains the character code value of the key. // nEndPos - Index of character in display string. // Returns: // true if successful, otherwise returns false. //----------------------------------------------------------------------- virtual BOOL ProcessMask(TCHAR& nChar, int nEndPos); //----------------------------------------------------------------------- // Summary: // This member function will read the date passed in as 'dt', and format // the 'strData' string as DD/MM/YY. // Parameters: // strData - String reference that is filled with the date. // dt - COleDateTime object that represents the date to format. //----------------------------------------------------------------------- virtual void FormatOleDateTime(CString& strData, COleDateTime dt); }; // ---------------------------------------------------------------------------- // Summary: // The DDX_XTPOleDateTime function manages the transfer of // integer data between a date edit control, in a dialog box, form // view, or control view object, and a COleDateTime data member of // the dialog box, form view, or control view object. // // When DDX_XTPOleDateTime is called, 'value' is set to // the current state of the date edit control. // Parameters: // pDX - A pointer to a CDataExchange object. The framework supplies // this object to establish the context of the data exchange, // including its direction. // nIDC - The resource ID of the date edit control associated with the // control property. // rControl - A reference to a member variable of the dialog box, form // view, or control view object with which data is exchanged. // rDateTime - A reference to a member variable of the dialog box, form // view, or control view object with which data is exchanged. // See Also: // CXTPDateEdit // ---------------------------------------------------------------------------- _XTP_EXT_CLASS void AFXAPI DDX_XTPOleDateTime(CDataExchange* pDX, int nIDC, CXTPDateEdit& rControl, COleDateTime& rDateTime); //=========================================================================== // Summary: // CXTPTimeEdit is a CXTPDateEdit derived class. It is specifically geared // toward editing time fields. //=========================================================================== class _XTP_EXT_CLASS CXTPTimeEdit : public CXTPDateEdit { DECLARE_DYNAMIC(CXTPTimeEdit) public: //----------------------------------------------------------------------- // Summary: // Constructs a CXTPTimeEdit object //----------------------------------------------------------------------- CXTPTimeEdit(); public: //----------------------------------------------------------------------- // Summary: // This member function will update the hours displayed. // Parameters: // nHours - The new hour to be displayed. //----------------------------------------------------------------------- virtual void SetHours(int nHours); //----------------------------------------------------------------------- // Summary: // This member function will update the minutes displayed. // Parameters: // nMins - The new minutes to be displayed. //----------------------------------------------------------------------- virtual void SetMins(int nMins); //----------------------------------------------------------------------- // Summary: // This member function will update the hours and minutes that are displayed // for the time edit control. // Parameters: // nHours - The new hour to be displayed. // nMins - The new minutes to be displayed. //----------------------------------------------------------------------- virtual void SetTime(int nHours, int nMins); //----------------------------------------------------------------------- // Summary: // This member function will retrieve the hours displayed for the time edit // control. // Returns: // An integer value that represents the hours displayed. //----------------------------------------------------------------------- int GetHours() const; //----------------------------------------------------------------------- // Summary: // This member function will retrieve the minutes displayed for the time // edit control. // Returns: // An integer value that represents the minutes displayed. //----------------------------------------------------------------------- int GetMins() const; //----------------------------------------------------------------------- // Summary: // This member function is used internally to process the character // passed in by 'nChar' whose index is specified by 'nEndPos'. // Parameters: // nChar - Contains the character code value of the key. // nEndPos - Index of the character in the display string. // Returns: // true if successful, otherwise returns false. //----------------------------------------------------------------------- virtual BOOL ProcessMask(TCHAR& nChar, int nEndPos); //----------------------------------------------------------------------- // Summary: // This member function will read the time passed in as 'dt', // and format the 'strData' string as HH:MM. // Parameters: // strData - String reference that is filled with the time. // dt - COleDateTime object that represents the time to format. //----------------------------------------------------------------------- virtual void FormatOleDateTime(CString& strData, COleDateTime dt); //----------------------------------------------------------------------- // Summary: // Sets military time format // Parameters: // bMilitary - true if military time is used. //----------------------------------------------------------------------- void SetMilitary(BOOL bMilitary = TRUE); protected: int m_iHours; // Represents the hours to display. int m_iMins; // Represents the minutes to display. BOOL m_bMilitary; // true if military time is used. }; ////////////////////////////////////////////////////////////////////// AFX_INLINE int CXTPTimeEdit::GetHours() const { return m_iHours; } AFX_INLINE int CXTPTimeEdit::GetMins() const { return m_iMins; } AFX_INLINE void CXTPTimeEdit::SetMilitary(BOOL bMilitary /*= TRUE*/) { m_bMilitary = bMilitary; } #endif // #if !defined(__XTPMASKEDIT_H__)