You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

192 lines
7.7 KiB
C

2 years ago
// XTPDatePickerItemDay.h: interface for the CXTPDatePickerItemDay class.
//
// This file is a part of the XTREME CALENDAR 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(_XTPDATEPICKERITEMDAY_H__)
#define _XTPDATEPICKERITEMDAY_H__
//}}AFX_CODEJOCK_PRIVATE
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CXTPDatePickerControl;
class CXTPDatePickerItemMonth;
//===========================================================================
// Summary:
// Class CXTPDatePickerItemDay represents one displayed day item in
// the calendar.
// Remarks:
// To create the object, call the constructor and provide pointers
// to the parent CXTPDatePickerControl and CXTPDatePickerItemMonth
// objects and a date value corresponding to its displayed day.
// See Also: CXTPDatePickerControl, CXTPDatePickerItemMonth
//===========================================================================
class _XTP_EXT_CLASS CXTPDatePickerItemDay : public CXTPCmdTarget
{
public:
// ----------------------------------------------------
// Summary:
// Default collection constructor.
// Parameters:
// pControl : Pointer to the DatePicker control.
// pMonth : Pointer to the corresponding Month item.
// dtDay : Date value.
// Remarks:
// Handles initial initialization.
// ----------------------------------------------------
CXTPDatePickerItemDay(CXTPDatePickerControl* pControl, CXTPDatePickerItemMonth* pMonth, COleDateTime dtDay);
// -------------------------------------
// Summary:
// Default collection destructor.
// Remarks:
// Handles member item deallocation.
// -------------------------------------
virtual ~CXTPDatePickerItemDay();
//-----------------------------------------------------------------------
// Summary:
// Call this member function to draw a day item.
// Parameters:
// pDC - Pointer to a valid device context.
//-----------------------------------------------------------------------
virtual void Draw(CDC* pDC);
// -----------------------------------------------------------------------
// Summary:
// Call this member function to set the day's rectangle area.
// Parameters:
// rcDay : Day rectangle in client CXTPDatePickerControl coordinates.
// See Also:
// GetRect()
// -----------------------------------------------------------------------
void SetRect(const CRect& rcDay);
// ----------------------------------------------------------------------
// Summary:
// Call this member function to obtain the day's rectangle area.
// Returns:
// A CRect that contains the rectangle coordinates of the day item in
// client coordinates of the parent's CXTPDatePickerControl object.
// See Also:
// SetRect(const CRect& rcDay)
// ----------------------------------------------------------------------
CRect GetRect() const;
// ---------------------------------------------------------
// Summary:
// Call this member function to get the date of the day.
// Returns:
// The date of the day shown.
// See Also:
// CXTPDatePickerItemDay::CXTPDatePickerItemDay
// ---------------------------------------------------------
COleDateTime GetDate() const;
// ---------------------------------------------------------------------
// Summary:
// Call this member function to determine if the day is visible.
// Returns:
// Boolean value that determines if the day item is visible. TRUE if
// the day is visible. FALSE otherwise.
// ---------------------------------------------------------------------
BOOL IsVisible() const;
// -----------------------------------------------------------------------
// Summary:
// This member function is used to determine if the day is the
// "Today" date.
// Parameters:
// dt : Reference to the COleDateTime object representing the date to
// check.
// Returns:
// A BOOL that indicates if the day is the "Today" date. TRUE if the
// day is the "Today" date. Otherwise FALSE.
// -----------------------------------------------------------------------
BOOL IsToday(COleDateTime &dt) const;
// -----------------------------------------------------------------------
// Summary:
// This member function is used to get a parent month object.
// Returns:
// A pointer to CXTPDatePickerItemMonth object which is an owner of this
// day object.
// -----------------------------------------------------------------------
CXTPDatePickerItemMonth* GetMonth() const;
// -----------------------------------------------------------------------
// Summary:
// This member function is used to get a parent date picker object.
// Returns:
// A pointer to CXTPDatePickerControl parent object.
// -----------------------------------------------------------------------
CXTPDatePickerControl* GetDatePickerControl() const;
// Attributes
protected:
CXTPDatePickerControl* m_pControl; // -----------------------------------------------------------
// This member variable is a pointer to the parent date picker
// control.
// -----------------------------------------------------------
CXTPDatePickerItemMonth* m_pMonth; // -----------------------------------------------------------
// This member variable is a pointer to the parent month item.
// -----------------------------------------------------------
COleDateTime m_dtDay; // -------------------------------------------------------------
// This member variable is used to specify the visible day date,
// represented by this Day item.
// -------------------------------------------------------------
CRect m_rcDay; // ------------------------------------------------------------------
// This member variable is used to specify the coordinates of the day
// spot.
// ------------------------------------------------------------------
BOOL m_bVisible; // -----------------------------------------------------------------
// This member variable is used as a flag to specify if the day item
// is visible.The flag values are TRUE if the day item is drawn, otherwise FALSE.
// -----------------------------------------------------------------
protected:
friend class CXTPDatePickerControl;
};
AFX_INLINE void CXTPDatePickerItemDay::SetRect(const CRect& rcDay) {
m_rcDay = rcDay;
}
AFX_INLINE CRect CXTPDatePickerItemDay::GetRect() const {
return m_rcDay;
}
AFX_INLINE COleDateTime CXTPDatePickerItemDay::GetDate() const {
return m_dtDay;
}
AFX_INLINE BOOL CXTPDatePickerItemDay::IsVisible() const {
return m_bVisible;
}
AFX_INLINE CXTPDatePickerItemMonth* CXTPDatePickerItemDay::GetMonth() const {
return m_pMonth;
}
AFX_INLINE CXTPDatePickerControl* CXTPDatePickerItemDay::GetDatePickerControl() const {
return m_pControl;
}
#endif // !defined(_XTPDATEPICKERITEMDAY_H__)