XTPDatePickerItemDay.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:8k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // XTPDatePickerItemDay.h: interface for the CXTPDatePickerItemDay class.
  2. //
  3. // This file is a part of the XTREME CALENDAR MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. //{{AFX_CODEJOCK_PRIVATE
  21. #if !defined(_XTPDATEPICKERITEMDAY_H__)
  22. #define _XTPDATEPICKERITEMDAY_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. class CXTPDatePickerControl;
  28. class CXTPDatePickerItemMonth;
  29. //===========================================================================
  30. // Summary:
  31. //     Class CXTPDatePickerItemDay represents one displayed day item in
  32. //     the calendar.
  33. // Remarks:
  34. //     To create the object, call the constructor and provide pointers
  35. //     to the parent CXTPDatePickerControl and CXTPDatePickerItemMonth
  36. //     objects and a date value corresponding to its displayed day.
  37. // See Also: CXTPDatePickerControl, CXTPDatePickerItemMonth
  38. //===========================================================================
  39. class _XTP_EXT_CLASS CXTPDatePickerItemDay : public CXTPCmdTarget
  40. {
  41. public:
  42. // ----------------------------------------------------
  43. // Summary:
  44. //     Default collection constructor.
  45. // Parameters:
  46. //     pControl :  Pointer to the DatePicker control.
  47. //     pMonth :    Pointer to the corresponding Month item.
  48. //     dtDay :     Date value.
  49. // Remarks:
  50. //     Handles initial initialization.
  51. // ----------------------------------------------------
  52. CXTPDatePickerItemDay(CXTPDatePickerControl* pControl, CXTPDatePickerItemMonth* pMonth, COleDateTime dtDay);
  53. // -------------------------------------
  54. // Summary:
  55. //     Default collection destructor.
  56. // Remarks:
  57. //     Handles member item deallocation.
  58. // -------------------------------------
  59. virtual ~CXTPDatePickerItemDay();
  60. //-----------------------------------------------------------------------
  61. // Summary:
  62. //     Call this member function to draw a day item.
  63. // Parameters:
  64. //     pDC - Pointer to a valid device context.
  65. //-----------------------------------------------------------------------
  66. virtual void Draw(CDC* pDC);
  67. // -----------------------------------------------------------------------
  68. // Summary:
  69. //     Call this member function to set the day's rectangle area.
  70. // Parameters:
  71. //     rcDay :  Day rectangle in client CXTPDatePickerControl coordinates.
  72. // See Also:
  73. //     GetRect()
  74. // -----------------------------------------------------------------------
  75. void SetRect(const CRect& rcDay);
  76. // ----------------------------------------------------------------------
  77. // Summary:
  78. //     Call this member function to obtain the day's rectangle area.
  79. // Returns:
  80. //     A CRect that contains the rectangle coordinates of the day item in
  81. //     client coordinates of the parent's CXTPDatePickerControl object.
  82. // See Also:
  83. //     SetRect(const CRect& rcDay)
  84. // ----------------------------------------------------------------------
  85. CRect GetRect();
  86. // ---------------------------------------------------------
  87. // Summary:
  88. //     Call this member function to get the date of the day.
  89. // Returns:
  90. //     The date of the day shown.
  91. // See Also:
  92. //     CXTPDatePickerItemDay::CXTPDatePickerItemDay
  93. // ---------------------------------------------------------
  94. COleDateTime GetDate();
  95. // ---------------------------------------------------------------------
  96. // Summary:
  97. //     Call this member function to determine if the day is visible.
  98. // Returns:
  99. //     Boolean value that determines if the day item is visible. TRUE if
  100. //     the day is visible. FALSE otherwise.
  101. // ---------------------------------------------------------------------
  102. BOOL IsVisible();
  103. // -----------------------------------------------------------------------
  104. // Summary:
  105. //     This member function is used to determine if the day is the
  106. //     "Today" date.
  107. // Parameters:
  108. //     dt :  Reference to the COleDateTime object representing the date to
  109. //           check.
  110. // Returns:
  111. //     A BOOL that indicates if the day is the "Today" date. TRUE if the
  112. //     day is the "Today" date. Otherwise FALSE.
  113. // -----------------------------------------------------------------------
  114. BOOL IsToday(COleDateTime &dt);
  115. // -----------------------------------------------------------------------
  116. // Summary:
  117. //     This member function is used to get a parent month object.
  118. // Returns:
  119. //     A pointer to CXTPDatePickerItemMonth object which is an owner of this
  120. //     day object.
  121. // -----------------------------------------------------------------------
  122. CXTPDatePickerItemMonth* GetMonth() const;
  123. // -----------------------------------------------------------------------
  124. // Summary:
  125. //     This member function is used to get a parent date picker object.
  126. // Returns:
  127. //     A pointer to CXTPDatePickerControl parent object.
  128. // -----------------------------------------------------------------------
  129. CXTPDatePickerControl* GetDatePickerControl();
  130. // Attributes
  131. protected:
  132. CXTPDatePickerControl* m_pControl;  // -----------------------------------------------------------
  133.                                     // This member variable is a pointer to the parent date picker
  134.                                     // control.
  135.                                     // -----------------------------------------------------------
  136. CXTPDatePickerItemMonth* m_pMonth;  // -----------------------------------------------------------
  137.                                     // This member variable is a pointer to the parent month item.
  138.                                     // -----------------------------------------------------------
  139. COleDateTime m_dtDay;               // -------------------------------------------------------------
  140.                                     // This member variable is used to specify the visible day date,
  141.                                     // represented by this Day item.
  142.                                     // -------------------------------------------------------------
  143. CRect m_rcDay;   // ------------------------------------------------------------------
  144.                  // This member variable is used to specify the coordinates of the day
  145.                  // spot.
  146.                  // ------------------------------------------------------------------
  147. BOOL m_bVisible; // -----------------------------------------------------------------
  148.                  // This member variable is used as a flag to specify if the day item
  149.                  // is visible.The flag values are TRUE if the day item is drawn, otherwise FALSE.
  150.                  // -----------------------------------------------------------------
  151. protected:
  152. friend class CXTPDatePickerControl;
  153. };
  154. AFX_INLINE void CXTPDatePickerItemDay::SetRect(const CRect& rcDay) {
  155. m_rcDay = rcDay;
  156. }
  157. AFX_INLINE CRect CXTPDatePickerItemDay::GetRect() {
  158. return m_rcDay;
  159. }
  160. AFX_INLINE COleDateTime CXTPDatePickerItemDay::GetDate() {
  161. return m_dtDay;
  162. }
  163. AFX_INLINE BOOL CXTPDatePickerItemDay::IsVisible() {
  164. return m_bVisible;
  165. }
  166. AFX_INLINE CXTPDatePickerItemMonth* CXTPDatePickerItemDay::GetMonth() const {
  167. return m_pMonth;
  168. }
  169. AFX_INLINE CXTPDatePickerControl* CXTPDatePickerItemDay::GetDatePickerControl()
  170. {
  171. return m_pControl;
  172. }
  173. #endif // !defined(_XTPDATEPICKERITEMDAY_H__)