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.
1382 lines
57 KiB
C
1382 lines
57 KiB
C
2 years ago
|
// XTPCalendarDefines.h: interface for the CXTPCalendarEvent 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(_XTPCALENDARDEFINES_H__)
|
||
|
#define _XTPCALENDARDEFINES_H__
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
#if _MSC_VER > 1000
|
||
|
#pragma once
|
||
|
#endif // _MSC_VER > 1000
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
#ifndef DBG_TRACE_TIMER
|
||
|
#define DBG_TRACE_TIMER
|
||
|
#endif
|
||
|
|
||
|
#ifndef DBG_DATA_ASSERT
|
||
|
#define DBG_DATA_ASSERT
|
||
|
#endif
|
||
|
|
||
|
#ifndef DBG_DATA_VERIFY
|
||
|
#define DBG_DATA_VERIFY
|
||
|
#endif
|
||
|
|
||
|
#ifndef LAYOUT_LTR
|
||
|
#define LAYOUT_LTR 0x00000000
|
||
|
#endif
|
||
|
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
class CXTPCalendarEvent;
|
||
|
class CXTPCalendarEvents;
|
||
|
class CXTPCalendarRecurrencePattern;
|
||
|
|
||
|
class CXTPCalendarEventLabel;
|
||
|
class CXTPCalendarEventLabels;
|
||
|
|
||
|
|
||
|
typedef long XTP_DATE_VALUE;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Paint themes used by calendar.
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPCalendarTheme
|
||
|
{
|
||
|
xtpCalendarThemeUnknown = -1, //Undefiend theme.
|
||
|
|
||
|
xtpCalendarThemeOffice2000, // Office 2000 theme.
|
||
|
xtpCalendarThemeOfficeXP, // Office XP theme.
|
||
|
xtpCalendarThemeOffice2003, // Office 2003 theme.
|
||
|
xtpCalendarThemeResource, // Office 2007 theme.
|
||
|
// xtpCalendarThemeCustom // Custom theme.
|
||
|
};
|
||
|
|
||
|
// obsolete
|
||
|
#define xtpCalendarThemeOffice2007 xtpCalendarThemeResource
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Paint theme versions used by calendar.
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPCalendarThemeVersion
|
||
|
{
|
||
|
xtpCalendarVersionUnknown = -1,
|
||
|
xtpCalendarVersion2000,
|
||
|
xtpCalendarVersionXP,
|
||
|
xtpCalendarVersion2003,
|
||
|
xtpCalendarVersion2007,
|
||
|
xtpCalendarVersion2010
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Define unknown event ID.
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_UNKNOWN_EVENT_ID 0
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Define an unknown recurrence pattern ID.
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_UNKNOWN_RECURRENCE_PATTERN_ID 0
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Define unknown schedule ID.
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_UNKNOWN_SCHEDULE_ID 0
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Define maximum text length for calendar event subject, location or body
|
||
|
// which will be drawn on the screen.
|
||
|
// Used to optimize drawing performance.
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_DRAW_EVENTITEMTEXT_MAX 255
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Define light and dark colors which are used by
|
||
|
// CXTPImageManager::DisableBitmap to draw disabled calendar window content.
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_DISABLED_COLOR_LIGHT RGB(250, 250, 250)
|
||
|
#define XTP_CALENDAR_DISABLED_COLOR_DARK RGB(128, 128, 128) //<COMBINE XTP_CALENDAR_DISABLED_COLOR_LIGHT>
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Timeout before appearing event tool tip window.
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_SHOW_TOOLTIP_TIMEOUT_MS 400
|
||
|
#define XTP_CALENDAR_SHOW_BUTTON_TIMEOUT_MS 1400 //<COMBINE XTP_CALENDAR_SHOW_TOOLTIP_TIMEOUT_MS>
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates busy status values.
|
||
|
// Example:
|
||
|
// <code>
|
||
|
// CXTPCalendarData* pData;
|
||
|
// CXTPCalendarEventPtr ptrEvent = pData->CreateNewEvent();
|
||
|
// ptrEvent->SetBusyStatus(xtpCalendarBusyStatusTentative);
|
||
|
// VERIFY(pCalendarData->AddEvent(ptrEvent));
|
||
|
// </code>
|
||
|
// See Also: CXTPCalendarEvent::SetBusyStatus
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarEventBusyStatus
|
||
|
{
|
||
|
xtpCalendarBusyStatusUnknown = -1, // Typed unknown value.
|
||
|
xtpCalendarBusyStatusFree = 0, // Free event status.
|
||
|
xtpCalendarBusyStatusTentative = 1, // Tentative event status.
|
||
|
xtpCalendarBusyStatusBusy = 2, // Busy event status.
|
||
|
xtpCalendarBusyStatusOutOfOffice = 3 // OutOfOffice event status.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates importance level values.
|
||
|
// Example:
|
||
|
// <code>
|
||
|
// CXTPCalendarData* pData;
|
||
|
// CXTPCalendarEventPtr ptrEvent = pData->CreateNewEvent();
|
||
|
// ptrEvent->SetImportance(xtpCalendarImportanceHigh);
|
||
|
// VERIFY(pCalendarData->AddEvent(ptrEvent));
|
||
|
// </code>
|
||
|
// See Also: CXTPCalendarEvent::SetImportance
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarEventImportance
|
||
|
{
|
||
|
xtpCalendarImportanceUnknown = -1, // Typed unknown value.
|
||
|
xtpCalendarImportanceLow = 0, // Low importance level.
|
||
|
xtpCalendarImportanceNormal = 1, // Normal importance level.
|
||
|
xtpCalendarImportanceHigh = 2 // High importance level.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates standard Event Categories for office 2007 theme.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarEventCategories
|
||
|
{
|
||
|
xtpCalendarEventCategoryUnknown = 0, // Typed unknown value.
|
||
|
|
||
|
xtpCalendarEventCategoryYellow = 1, // The Yellow category ID.
|
||
|
xtpCalendarEventCategoryGreen = 2, // The Green category ID.
|
||
|
xtpCalendarEventCategoryRed = 3, // The Red category ID.
|
||
|
xtpCalendarEventCategoryPink = 4, // The Pink category ID.
|
||
|
xtpCalendarEventCategoryOrange = 5, // The Orange category ID.
|
||
|
xtpCalendarEventCategoryBlue = 6 // The Blue category ID.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates recurrence states.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarEventRecurrenceState
|
||
|
{
|
||
|
xtpCalendarRecurrenceNotRecurring = 0, // Event is not recurring.
|
||
|
xtpCalendarRecurrenceMaster = 1, // Event is a Master (template to generate occurrences).
|
||
|
xtpCalendarRecurrenceOccurrence = 2, // Event is Occurrence.
|
||
|
xtpCalendarRecurrenceException = 3 // Event is Exception (changed occurrence).
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Type definition for an array of dates.
|
||
|
//===========================================================================
|
||
|
typedef CArray<COleDateTime, COleDateTime&> CXTPCalendarDatesArray;
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Specify the end of the recurrence pattern type.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarPatternEnd
|
||
|
{
|
||
|
xtpCalendarPatternEndDate , // End of the recurrence pattern specified by the date.
|
||
|
xtpCalendarPatternEndAfterOccurrences , // End of the recurrence pattern specified by the occurrences amount.
|
||
|
xtpCalendarPatternEndNoDate // Recurrence pattern has no End.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates Recurrence Pattern Types.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarEventRecurrenceType
|
||
|
{
|
||
|
xtpCalendarRecurrenceUnknown = 0, // Typed unknown value.
|
||
|
|
||
|
xtpCalendarRecurrenceDaily = 1, // Every N days. N = { 1, 2 .. }
|
||
|
xtpCalendarRecurrenceWeekly = 2, // Every N weeks on specified 'DaysMask'.
|
||
|
// N = { 1, 2 .. },
|
||
|
// DaysMask = {see enum XTPCalendarWeekDay}
|
||
|
xtpCalendarRecurrenceMonthly = 3, // D day of every N months.
|
||
|
// D = { 1, 2 .. 31}
|
||
|
// N = { 1, 2 .. }
|
||
|
xtpCalendarRecurrenceMonthNth = 4, // The first, second, ... X of every N months.
|
||
|
// first, second, ... = {see enum XTPCalendarWeek}
|
||
|
// X = {see enums XTPCalendarWeekDay}
|
||
|
// N = { 1, 2 .. }
|
||
|
xtpCalendarRecurrenceYearly = 5, // Every month(M) day(D).
|
||
|
// M = { 1, 2 .. 12}
|
||
|
// D = { 1, 2 .. 31}
|
||
|
xtpCalendarRecurrenceYearNth = 6 // The first, second, ... X of month(M).
|
||
|
// first, second, ... = {see enum XTPCalendarWeek}
|
||
|
// X = {see enums XTPCalendarWeekDay}
|
||
|
// M = { 1, 2 .. 12}
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates Day of Weeks codes.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarWeekDay
|
||
|
{
|
||
|
xtpCalendarDaySunday = 0x001, // Sunday
|
||
|
xtpCalendarDayMonday = 0x002, // Monday
|
||
|
xtpCalendarDayTuesday = 0x004, // Tuesday
|
||
|
xtpCalendarDayWednesday = 0x008, // Wednesday
|
||
|
xtpCalendarDayThursday = 0x010, // Thursday
|
||
|
xtpCalendarDayFriday = 0x020, // Friday
|
||
|
xtpCalendarDaySaturday = 0x040, // Saturday
|
||
|
|
||
|
xtpCalendarDayAllWeek = xtpCalendarDayMonday | xtpCalendarDayTuesday |
|
||
|
xtpCalendarDayWednesday | xtpCalendarDayThursday |
|
||
|
xtpCalendarDayFriday | xtpCalendarDaySaturday |
|
||
|
xtpCalendarDaySunday, // All week mask.
|
||
|
|
||
|
xtpCalendarDaySaSu = xtpCalendarDaySaturday | xtpCalendarDaySunday, // Saturday, Sunday mask.
|
||
|
xtpCalendarDayMo_Fr = xtpCalendarDayAllWeek ^ xtpCalendarDaySaSu // Monday to Friday mask.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Remarks:
|
||
|
// Determines allowable values for the alignment of clock images used
|
||
|
// by the DrawClock function.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarClockAlignFlags
|
||
|
{
|
||
|
xtpCalendarClockAlignLeft = 0x01, // Align to the left side of the rectangle area.
|
||
|
xtpCalendarClockAlignCenter = 0x02, // Align on the middle of the rectangle area.
|
||
|
xtpCalendarClockAlignRight = 0x04 // Align to the right side of the rectangle area.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates a sequence numbers for days.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarWeek
|
||
|
{
|
||
|
xtpCalendarWeekFirst = 1, // First
|
||
|
xtpCalendarWeekSecond = 2, // Second
|
||
|
xtpCalendarWeekThird = 3, // Third
|
||
|
xtpCalendarWeekFourth = 4, // Fourth
|
||
|
xtpCalendarWeekLast = 5 // Last
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumeration used to determine the calendar data provider in use.
|
||
|
// Remarks:
|
||
|
// This enumeration contains all available data provider types.
|
||
|
// See Also:
|
||
|
// CXTPCalendarData, CXTPCalendarMemoryDataProvider,
|
||
|
// CXTPCalendarDatabaseDataProvider
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarDataProvider
|
||
|
{
|
||
|
xtpCalendarDataProviderUnknown = 0, // Unknown data provider
|
||
|
|
||
|
xtpCalendarDataProviderMemory = 1, // Memory data provider - CXTPCalendarMemoryDataProvider.
|
||
|
xtpCalendarDataProviderDatabase = 2, // Database data provider - CXTPCalendarDatabaseDataProvider.
|
||
|
xtpCalendarDataProviderMAPI = 3, // MAPI (Exchange server) data provider - CXTPCalendarMAPIDataProvider.
|
||
|
xtpCalendarDataProviderCustom = 4 // Custom data provider - CXTPCalendarCustomDataProvider.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumeration used to determine the calendar view type in use.
|
||
|
// Remarks:
|
||
|
// This enumeration contains all available Calendar view types.
|
||
|
// See Also:
|
||
|
// CXTPCalendarView, CXTPCalendarDayView, CXTPCalendarWeekView,
|
||
|
// CXTPCalendarMonthView
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarViewType
|
||
|
{
|
||
|
xtpCalendarDayView, // Day view - CXTPCalendarDayView
|
||
|
xtpCalendarWorkWeekView, // Day view - CXTPCalendarDayView. Work week days are shown.
|
||
|
xtpCalendarWeekView, // Week view - CXTPCalendarWeekView
|
||
|
xtpCalendarMonthView, // Month view - CXTPCalendarMonthView
|
||
|
xtpCalendarFullWeekView, // Day view - CXTPCalendarDayView. All week days are shown.
|
||
|
xtpCalendarTimeLineView // TimeLine view - CXTPCalendarTimeLineView
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumeration of operational mouse modes.
|
||
|
// Remarks:
|
||
|
// Calendar Control has several
|
||
|
// Mouse states that handled by control. This enumeration helps to
|
||
|
// clearly identify each of these
|
||
|
// - Sends Notifications:
|
||
|
// - Sends Messages:
|
||
|
// See Also:
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarMouseMode
|
||
|
{
|
||
|
xtpCalendarMouseNothing, // User is doing nothing - just watching to the control.
|
||
|
xtpCalendarMouseEventPreResizeV, // User is moving mouse under event view vertical "resize" area.
|
||
|
xtpCalendarMouseEventPreResizeH, // User is moving mouse under event view horizontal "resize" area.
|
||
|
xtpCalendarMouseEventPreDrag, // User is moving mouse under event view "drag" area.
|
||
|
xtpCalendarMouseEventResizingV, // User is resizing event vertically (holding mouse left button down).
|
||
|
xtpCalendarMouseEventResizingH, // User is resizing event horizontally (holding mouse left button down).
|
||
|
xtpCalendarMouseEventDragCopy, // User is dragging event view (holding left mouse button down).
|
||
|
xtpCalendarMouseEventDragMove, // User is dragging event view (holding left mouse button down and Control key is down).
|
||
|
xtpCalendarMouseEventDraggingOut // User is dragging event out of dragging area.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Contains bit-masks for adjusting the calendar control.
|
||
|
// Remarks:
|
||
|
// This enumeration contains bit masks for using with
|
||
|
// CXTPCalendarControl::CUpdateContext.
|
||
|
// Depending on members of this enum there will be specific
|
||
|
// redrawing functionality called on exiting adjuster's scope.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarUpdateOptions
|
||
|
{
|
||
|
xtpCalendarUpdateLayout = 0x0001, // Adjust positions of control's elements.
|
||
|
xtpCalendarUpdateScrollBar = 0x0002, // Recalculate control's scrollbar positions.
|
||
|
xtpCalendarUpdateRedraw = 0x0004, // Redraw control picture.
|
||
|
xtpCalendarUpdateAll = 0x000F, // Redraw all portions of the control on exiting adjuster scope.
|
||
|
xtpCalendarUpdateRedrawIfNeed = 0x0010 // Redraw control's picture if needed.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// This enumeration contains options for
|
||
|
// CXTPCalendarControl::CViewChangedContext.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarViewChangedUpdateOptions
|
||
|
{
|
||
|
xtpCalendarViewChangedSend = 1, // Set send request for XTP_NC_CALENDARVIEWWASCHANGED notification and lock sending.
|
||
|
xtpCalendarViewChangedLock = 2 // Lock sending only, send request for XTP_NC_CALENDARVIEWWASCHANGED notification is not set.
|
||
|
};
|
||
|
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates allowable hit test codes.
|
||
|
// Remarks:
|
||
|
// ResizeV, ResizeH flags are used together with
|
||
|
// ResizeBegin or ResizeEnd.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarHitTestCode
|
||
|
{
|
||
|
xtpCalendarHitTestUnknown = 0, // The position is unknown or does not belong to our control.
|
||
|
|
||
|
xtpCalendarHitTestDayArea = 0x000001, // The position is inside the days area.
|
||
|
xtpCalendarHitTestDayHeader = 0x000002, // The position is inside control's header.
|
||
|
xtpCalendarHitTestDayExpandButton = 0x000004, // The position is over Expand day button icon.
|
||
|
xtpCalendarHitTestGroupArea = xtpCalendarHitTestDayArea, // The position is inside a group area (formerly day).
|
||
|
xtpCalendarHitTestGroupHeader = 0x000008, // The position is inside Group (resource) header.
|
||
|
xtpCalendarHitTestDay_Mask = 0x00000F, // The mask for any position inside days area with the header.
|
||
|
|
||
|
xtpCalendarHitTestEventDragArea = 0x000010, // The position is on Event drag area.
|
||
|
xtpCalendarHitTestEventTextArea = 0x000020, // The position is on Event text view area.
|
||
|
|
||
|
xtpCalendarHitTestEventResizeVArea = 0x000100, // Event vertical resize area.
|
||
|
xtpCalendarHitTestEventResizeHArea = 0x000200, // Event horizontal resize area.
|
||
|
xtpCalendarHitTestEventResizeArea_Mask = xtpCalendarHitTestEventResizeVArea | xtpCalendarHitTestEventResizeHArea, // The mask for both event resize areas.
|
||
|
|
||
|
xtpCalendarHitTestEventResizeBegin = 0x000400, // Event start resizing area.
|
||
|
xtpCalendarHitTestEventResizeEnd = 0x000800, // Event end resizing area.
|
||
|
|
||
|
xtpCalendarHitTestEvent_Mask = 0x000FF0, // The mask for event area at whole.
|
||
|
|
||
|
xtpCalendarHitTestDayViewTimeScale = 0x001000, // Time scale part of the day view.
|
||
|
xtpCalendarHitTestDayViewCell = 0x002000, // Day view cells - its general part.
|
||
|
xtpCalendarHitTestDayViewAllDayEvent = 0x004000, // All day zone on the day view.
|
||
|
|
||
|
xtpCalendarHitTestDayViewScrollUp = 0x010000, // DayView Scroll Up button. (presents in office 2007 theme only)
|
||
|
xtpCalendarHitTestDayViewScrollDown = 0x020000, // DayView Scroll Down button. (presents in office 2007 theme only)
|
||
|
|
||
|
xtpCalendarHitTestAllDayEventsScrollUp = 0x030000,
|
||
|
xtpCalendarHitTestAllDayEventsScrollDown = 0x040000,
|
||
|
|
||
|
xtpCalendarHitTestDayView_Mask = 0x0FF000, // The mask for all DayView areas.
|
||
|
|
||
|
xtpCalendarHitTestPrevEventButton = 0x100000, // Go to Rrevious event button. (presents in office 2007 theme only)
|
||
|
xtpCalendarHitTestNextEventButton = 0x200000, // Go to Next event button. (presents in office 2007 theme only)
|
||
|
xtpCalendarHitTestTimeLineScale = 0x400000, // Calendar HitTest TimeLineScale
|
||
|
|
||
|
xtpCalendarHitTestAllDayExpandButton = xtpCalendarHitTestDayExpandButton | xtpCalendarHitTestDayViewAllDayEvent, // The position is over Expand button icon in allday header.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates allowable dragging mode state codes.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarDraggingMode
|
||
|
{
|
||
|
xtpCalendaDragModeUnknown = 0, // No dragging mode.
|
||
|
|
||
|
xtpCalendaDragModeCopy = 1, // Copying event.
|
||
|
xtpCalendaDragModeMove = 2, // Moving event.
|
||
|
|
||
|
xtpCalendaDragModeResizeBegin = 3, // Resizing event begin.
|
||
|
xtpCalendaDragModeResizeEnd = 4, // Resizing event end.
|
||
|
|
||
|
xtpCalendaDragModeEditSubject = 5 // Editing event subject.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates allowable flags for driving subject editors.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarEndEditSubjectAction
|
||
|
{
|
||
|
xtpCalendarEditSubjectUnknown = 0, // Action is undefined.
|
||
|
xtpCalendarEditSubjectCommit = 1, // Apply and commit dragging.
|
||
|
xtpCalendarEditSubjectCancel = 2 // Cancel editing and dragging changes.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates flags to identify undo mode.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarUndoMode
|
||
|
{
|
||
|
xtpCalendarUndoModeUnknown = 0, // Undo mode is undefined.
|
||
|
xtpCalendarUndoModeUndo = 1, // Undo action is pending.
|
||
|
xtpCalendarUndoModeRedo = 2 // Redo action is pending.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates additional flags used in clipboard operations.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarClipboardCopyFlags
|
||
|
{
|
||
|
xtpCalendarCopyFlagROccurrence2RException = 0x0001, // Convert recurrence Occurrence to Exception before paste.
|
||
|
xtpCalendarCopyFlagKeepRException = 0x0002, // Keep recurrence Exception event state before paste.
|
||
|
xtpCalendarCopyFlagClearCBAfterPaste = 0x0004, // Clear clipboard after paste.
|
||
|
|
||
|
xtpCalendarCopyFlagCutMask = xtpCalendarCopyFlagROccurrence2RException |
|
||
|
xtpCalendarCopyFlagKeepRException |
|
||
|
xtpCalendarCopyFlagClearCBAfterPaste // Default flags for Cut operation.
|
||
|
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates parameters used in configuring reminders for recurrence
|
||
|
// patterns occurrences.
|
||
|
//===========================================================================
|
||
|
enum XTPEnumCalendarReminderForOccurrenceParameters
|
||
|
{
|
||
|
xtpCalendarRmdPrm_Default = LONG_MAX, // Set default reminders value.
|
||
|
xtpCalendarRmdPrm_DontChange = LONG_MIN // Do not change reminders time value.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates flags to CXTPCalendarOptions.nDayView_CurrentTimeMarkVisible
|
||
|
// member.
|
||
|
// This set of flags define when Current Time Mark on the timescale is
|
||
|
// visible.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarCurrentTimeMarkFlags
|
||
|
{
|
||
|
xtpCalendarCurrentTimeMarkNone = 0, // Time Mark invisible.
|
||
|
|
||
|
xtpCalendarCurrentTimeMarkVisibleForToday = 1, // Time Mark visible if today day is visible.
|
||
|
xtpCalendarCurrentTimeMarkVisibleAlways = 2, // Time Mark always visible.
|
||
|
xtpCalendarCurrentTimeMarkPrinted = 4 // If this flag set - Time Mark is visible for printed calendar also, otherwise it is hidden when printing.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Icons IDs set to be used with calendar event custom icons to customize
|
||
|
// standard event glyphs.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarEventIconIDs
|
||
|
{
|
||
|
xtpCalendarEventIconIDReminder = -1, // Reminder glyph ID.
|
||
|
xtpCalendarEventIconIDOccurrence = -2, // Recurrence glyph ID.
|
||
|
xtpCalendarEventIconIDException = -3, // Recurrence exception glyph ID.
|
||
|
xtpCalendarEventIconIDMeeting = -4, // Meeting glyph ID.
|
||
|
xtpCalendarEventIconIDPrivate = -5 // Private glyph ID.
|
||
|
};
|
||
|
|
||
|
class CXTPCalendarViewDay;
|
||
|
class CXTPCalendarViewGroup;
|
||
|
class CXTPCalendarViewEvent;
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Structure contains the calendar day view selection block.
|
||
|
// Remarks:
|
||
|
// This structure describes a selection bounds on the calendar day view.
|
||
|
// See Also: CXTPCalendarDayView
|
||
|
//===========================================================================
|
||
|
struct XTP_CALENDAR_VIEWSELECTION
|
||
|
{
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
public:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Default constructor.
|
||
|
// Remarks:
|
||
|
// Initializes a XTP_CALENDAR_VIEWSELECTION object to the empty
|
||
|
// selection bounds.
|
||
|
//-----------------------------------------------------------------------
|
||
|
XTP_CALENDAR_VIEWSELECTION()
|
||
|
{
|
||
|
nGroupIndex = -1;
|
||
|
bAllDayEvent = FALSE;
|
||
|
dtBegin.SetStatus(COleDateTime::null);
|
||
|
dtEnd.SetStatus(COleDateTime::null);
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Copy operator.
|
||
|
// Parameters:
|
||
|
// rSrc - The source object.
|
||
|
// Remarks:
|
||
|
// Initialize members from the specified object.
|
||
|
// Returns:
|
||
|
// Reference to the current object.
|
||
|
//-----------------------------------------------------------------------
|
||
|
const XTP_CALENDAR_VIEWSELECTION& operator=(const XTP_CALENDAR_VIEWSELECTION& rSrc)
|
||
|
{
|
||
|
nGroupIndex = rSrc.nGroupIndex;
|
||
|
bAllDayEvent = rSrc.bAllDayEvent;
|
||
|
|
||
|
if(rSrc.dtBegin.GetStatus() == COleDateTime::valid)
|
||
|
{
|
||
|
dtBegin = rSrc.dtBegin;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
dtBegin.SetStatus(rSrc.dtBegin.GetStatus());
|
||
|
}
|
||
|
|
||
|
if(rSrc.dtEnd.GetStatus() == COleDateTime::valid)
|
||
|
{
|
||
|
dtEnd = rSrc.dtEnd;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
dtEnd.SetStatus(rSrc.dtEnd.GetStatus());
|
||
|
}
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Determines are times members values valid.
|
||
|
// Returns:
|
||
|
// TRUE if date time object members are valid, otherwise FALSE.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL IsValid() const
|
||
|
{
|
||
|
return dtBegin.GetStatus() == COleDateTime::valid &&
|
||
|
dtEnd.GetStatus() == COleDateTime::valid &&
|
||
|
nGroupIndex >= 0;
|
||
|
}
|
||
|
|
||
|
public:
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
int nGroupIndex; // Numeric index of the corresponding resource group.
|
||
|
COleDateTime dtBegin; // Selection start time.
|
||
|
COleDateTime dtEnd; // Selection finish time.
|
||
|
BOOL bAllDayEvent; // TRUE when all day is selected, FALSE otherwise.
|
||
|
};
|
||
|
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumeration used to determine the scroll direction.
|
||
|
// Remarks:
|
||
|
// The enumeration determines if scrolling is necessary based on the
|
||
|
// scroll mode(up, down, or NotNeeded.)
|
||
|
// See Also: CXTPCalendarDayView
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarDayViewScrollDirection
|
||
|
{
|
||
|
xtpCalendarDayViewScrollUp, // ScrollV Up.
|
||
|
xtpCalendarDayViewScrollDown, // ScrollV Down.
|
||
|
xtpCalendarDayViewScrollNotNeeded, // Scrolling not needed.
|
||
|
xtpCalendarDayViewScrollLeft, // ScrollH Left.
|
||
|
xtpCalendarDayViewScrollRight // ScrollH Right.
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Defines a set of data and methods to easily manipulate with day
|
||
|
// positions in month view. Used to convert Week/Day indexes pair to
|
||
|
// sequential integer value and vice versa.
|
||
|
//===========================================================================
|
||
|
struct XTP_CALENDAR_MONTHVIEW_DAYPOS
|
||
|
{
|
||
|
int nWeekIndex; // Week index. From 0 to XTP_CALENDAR_MONTHVIEW_SHOW_WEEKS_MAX
|
||
|
int nWeekDayIndex; // Week day cell index. From 0 to 6
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Default object constructor.
|
||
|
// Parameters:
|
||
|
// nPOS - Initial sequential integer value.
|
||
|
//-----------------------------------------------------------------------
|
||
|
/* XTP_CALENDAR_MONTHVIEW_DAYPOS(int nPOS = -1)
|
||
|
{
|
||
|
nWeekIndex = nWeekDayIndex = -1;
|
||
|
if (nPOS >= 0)
|
||
|
{
|
||
|
SetPOS(nPOS);
|
||
|
}
|
||
|
}
|
||
|
*/
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the sequential integer value.
|
||
|
// Remarks:
|
||
|
// This is the overloaded int operator.
|
||
|
// Returns:
|
||
|
// Sequential integer value.
|
||
|
// See Also: GetPOS
|
||
|
//-----------------------------------------------------------------------
|
||
|
operator int() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to set a new Sequential integer value.
|
||
|
// Parameters:
|
||
|
// nPOS - An int that contains the new value.
|
||
|
// Remarks:
|
||
|
// This is the overloaded assignment operator.
|
||
|
// Returns:
|
||
|
// An XTP_CALENDAR_MONTHVIEW_DAYPOS object reference.
|
||
|
// See Also: SetPOS
|
||
|
//-----------------------------------------------------------------------
|
||
|
const XTP_CALENDAR_MONTHVIEW_DAYPOS& operator=(int nPOS);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to pre-increment a sequential
|
||
|
// position by 1.
|
||
|
// Remarks:
|
||
|
// This is the overloaded pre-increment operator.(++i)
|
||
|
// Returns:
|
||
|
// This object reference incremented by 1.
|
||
|
//-----------------------------------------------------------------------
|
||
|
XTP_CALENDAR_MONTHVIEW_DAYPOS& operator++();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to post-increment a sequential
|
||
|
// position by 1.
|
||
|
// Remarks:
|
||
|
// This is the overloaded post-increment operator.(i++)
|
||
|
// Returns:
|
||
|
// Object value before incrementing.
|
||
|
//-----------------------------------------------------------------------
|
||
|
XTP_CALENDAR_MONTHVIEW_DAYPOS operator++(int);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain a sequential integer value.
|
||
|
// Returns:
|
||
|
// An int that represents the sequential integer value.
|
||
|
// See Also: SetPOS, operator int()
|
||
|
//-----------------------------------------------------------------------
|
||
|
int GetPOS() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to set a new week/day index value.
|
||
|
// Parameters:
|
||
|
// nWidx - An int that contains the Week index.
|
||
|
// Valid values are from 0 to XTP_CALENDAR_MONTHVIEW_SHOW_WEEKS_MAX
|
||
|
// nWDidx - An int that contains the Week day cell index.
|
||
|
// Valid values are From 0 to 6.
|
||
|
// See Also: operator=(int nPOS), SetPOS(int nPOS)
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SetPOS(int nWidx, int nWDidx);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to set a new sequential integer value.
|
||
|
// Parameters:
|
||
|
// nPOS - An int that contains the new integer value.
|
||
|
// See Also: operator=(int nPOS), SetPOS(int nWidx, int nWDidx)
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SetPOS(int nPOS);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to determine if the WeekIndex and
|
||
|
// WeekDayIndex values are valid.
|
||
|
// Remarks:
|
||
|
// The valid values are nWeekIndex >= 0 || nWeekDayIndex >= 0.
|
||
|
// Returns:
|
||
|
// TRUE if values are valid. Otherwise FALSE.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL IsValid() const;
|
||
|
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
};
|
||
|
|
||
|
|
||
|
class CXTPCalendarMonthViewDay;
|
||
|
class CXTPCalendarMonthViewEvent;
|
||
|
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Basic set of parameters transferred from calendar items to
|
||
|
// mouse handlers.
|
||
|
// Remarks:
|
||
|
// This structure groups together all essential parameters used in
|
||
|
// items processing activities. It is a basic structure for all
|
||
|
// particular calendar's structures.
|
||
|
// See Also: XTP_CALENDAR_HITTESTINFO, XTP_CALENDAR_HITTESTINFO,
|
||
|
// XTP_CALENDAR_HITTESTINFO
|
||
|
//===========================================================================
|
||
|
struct XTP_CALENDAR_HITTESTINFO
|
||
|
{
|
||
|
COleDateTime dt; // Time stamp on the specified point.
|
||
|
BOOL bTimePartValid; // Specifies whether date's time part is valid,
|
||
|
// i.e. if we hit on all day events area, bTimePartValid will be FALSE.
|
||
|
int uHitCode; // A bitwise combination of XTPCalendarHitTestCode constants.
|
||
|
|
||
|
int nDay; // Number of the day.
|
||
|
int nGroup; // Number of the group.
|
||
|
int nEvent; // ID of the specified event.
|
||
|
|
||
|
CXTPCalendarViewDay* pViewDay; // Pointer to affected CXTPCalendarViewDay object.
|
||
|
CXTPCalendarViewGroup* pViewGroup; // Pointer to affected CXTPCalendarViewGroup object.
|
||
|
CXTPCalendarViewEvent* pViewEvent; // Pointer to affected CXTPCalendarViewEvent object.
|
||
|
|
||
|
union
|
||
|
{
|
||
|
XTP_CALENDAR_MONTHVIEW_DAYPOS dayPOS; // MonthView Day position.
|
||
|
POINT pt; // DayView Point where the mouse was clicked in client coordinates.
|
||
|
};
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Default constructor.
|
||
|
// Remarks:
|
||
|
// Initializes a XTP_CALENDAR_HITTESTINFO object to the empty
|
||
|
// and zero values.
|
||
|
//-----------------------------------------------------------------------
|
||
|
XTP_CALENDAR_HITTESTINFO()
|
||
|
{
|
||
|
dt.SetStatus(COleDateTime::null);
|
||
|
bTimePartValid = FALSE;
|
||
|
uHitCode = xtpCalendarHitTestUnknown;
|
||
|
pViewDay = NULL;
|
||
|
pViewGroup = NULL;
|
||
|
pViewEvent = NULL;
|
||
|
nDay = -1;
|
||
|
nGroup = -1;
|
||
|
nEvent = -1;
|
||
|
|
||
|
memset(&dayPOS, -1, sizeof(dayPOS));
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Default destructor.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual ~XTP_CALENDAR_HITTESTINFO()
|
||
|
{
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Equality operator.
|
||
|
// Parameters:
|
||
|
// hitInfo2 - Second XTP_CALENDAR_HITTESTINFO object to compare.
|
||
|
// Remarks:
|
||
|
// Compare 2 XTP_CALENDAR_HITTESTINFO objects.
|
||
|
// Returns:
|
||
|
// TRUE if specified objects are equal, otherwise FALSE.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL operator==(const XTP_CALENDAR_HITTESTINFO& hitInfo2);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Non-Equality operator.
|
||
|
// Parameters:
|
||
|
// hitInfo2 - Second XTP_CALENDAR_HITTESTINFO object to compare.
|
||
|
// Remarks:
|
||
|
// Compare 2 XTP_CALENDAR_HITTESTINFO objects.
|
||
|
// Returns:
|
||
|
// TRUE if specified objects are not equal, otherwise FALSE.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL operator!=(const XTP_CALENDAR_HITTESTINFO& hitInfo2)
|
||
|
{
|
||
|
return !(*this == hitInfo2);
|
||
|
}
|
||
|
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
};
|
||
|
|
||
|
//#define XTP_CALENDAR_HITTESTINFO_DAY_VIEW XTP_CALENDAR_HITTESTINFO
|
||
|
//#define XTP_CALENDAR_HITTESTINFO_MONTH_VIEW XTP_CALENDAR_HITTESTINFO
|
||
|
//#define XTP_CALENDAR_HITTESTINFO_WEEK_VIEW XTP_CALENDAR_HITTESTINFO
|
||
|
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates DB Provider cache modes.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarDataProviderCacheMode
|
||
|
{
|
||
|
xtpCalendarDPCacheModeOff = 0x000, // Cache is not used.
|
||
|
|
||
|
xtpCalendarDPCacheModeOnRepeat = 0x001, // Repeat all event manipulations in cache.
|
||
|
xtpCalendarDPCacheModeOnClear = 0x002, // Clear cache after every event manipulation.
|
||
|
|
||
|
xtpCalendarDPCacheModeOnMask = 0x00F, // Cache mode on mask.
|
||
|
};
|
||
|
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Define unknown event label ID.
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_UNKNOWN_LABEL_ID -1
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Define event label ID which is used by default for a new event.
|
||
|
// (Valid for default labels list only)
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_DEFAULT_LABEL_ID 0
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Define event label ID which signifies no label.
|
||
|
// (Valid for default labels list only)
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_NONE_LABEL_ID 0
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Define default reminders value minutes which is for a new event.
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_DEFAULT_REMINDER_MINUTES 15
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// The location in the registry that contains time zone information
|
||
|
// for Windows NT family (NT/2000/XP).
|
||
|
// See also:
|
||
|
// Microsoft KB221542
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_TIMEZONESKEY_NT _T("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones")
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// The location in the registry that contains time zone information
|
||
|
// for Windows 9x family.
|
||
|
// See also:
|
||
|
// Microsoft KB221542
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_TIMEZONESKEY_9X _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Time Zones")
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Registry key name for a StandardName member value of
|
||
|
// TIME_ZONE_INFORMATION.
|
||
|
// See also:
|
||
|
// TIME_ZONE_INFORMATION WinAPI structure
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_TZIRegValName_StandardName _T("Std")
|
||
|
// <COMBINE XTP_CALENDAR_TZIRegValName_StandardName>
|
||
|
#define XTP_CALENDAR_TZIRegValName_StandardNameW L"Std"
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Registry key name for a DaylightName member value of
|
||
|
// TIME_ZONE_INFORMATION.
|
||
|
// See also:
|
||
|
// TIME_ZONE_INFORMATION WinAPI structure
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_TZIRegValName_DaylightName _T("Dlt")
|
||
|
// <COMBINE XTP_CALENDAR_TZIRegValName_DaylightName>
|
||
|
#define XTP_CALENDAR_TZIRegValName_DaylightNameW L"Dlt"
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Registry key name for a time zone display string value.
|
||
|
// For example: "(GMT+02:00) Athens, Beirut, Istanbul, Minsk"
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_TZIRegValName_DisplayStr _T("Display")
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Registry key name for a time zone order index value.
|
||
|
// Remarks:
|
||
|
// This index value is used to sort time zones in the right order.
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_TZIRegValName_Index _T("Index")
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Registry key name for some TIME_ZONE_INFORMATION structure members.
|
||
|
// See also:
|
||
|
// Microsoft KB115231,
|
||
|
// CXTPCalendarTimeZones::REGISTRY_TIMEZONE_INFORMATION
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_TZIRegValName_DATA _T("TZI")
|
||
|
|
||
|
//===========================================================================
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
#define XTP_EVENT_PLACE_POS_UNDEFINED 0xFFFF
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
#define XTP_SAFE_GET1(_ptr1, _member, _defVal) (_ptr1 ? _ptr1->_member : (_defVal))
|
||
|
#define XTP_SAFE_GET2(_ptr1, _ptr2, _member, _defVal) ((_ptr1 && _ptr1->_ptr2) ? _ptr1->_ptr2->_member : (_defVal) )
|
||
|
#define XTP_SAFE_GET3(_ptr1, _ptr2, _ptr3, _member, _defVal) ((_ptr1 && _ptr1->_ptr2 && _ptr1->_ptr2->_ptr3) ? _ptr1->_ptr2->_ptr3->_member : (_defVal) )
|
||
|
#define XTP_SAFE_GET4(_ptr1, _ptr2, _ptr3, _ptr4, _member, _defVal) ((_ptr1 && _ptr1->_ptr2 && _ptr1->_ptr2->_ptr3 && _ptr1->_ptr2->_ptr3->_ptr4) ? _ptr1->_ptr2->_ptr3->_ptr4->_member : (_defVal) )
|
||
|
#define XTP_SAFE_GET5(_ptr1, _ptr2, _ptr3, _ptr4, _ptr5, _member, _defVal) ((_ptr1 && _ptr1->_ptr2 && _ptr1->_ptr2->_ptr3 && _ptr1->_ptr2->_ptr3->_ptr4 && _ptr1->_ptr2->_ptr3->_ptr4->_ptr5) ? _ptr1->_ptr2->_ptr3->_ptr4->_ptr5->_member : (_defVal) )
|
||
|
|
||
|
#define XTP_SAFE_SET1(_ptr1, _member, _Val) \
|
||
|
if (_ptr1){ \
|
||
|
_ptr1->_member = _Val; \
|
||
|
}
|
||
|
|
||
|
#define XTP_SAFE_SET2(_ptr1, _ptr2, _member, _Val) \
|
||
|
if (_ptr1 && _ptr1->_ptr2){ \
|
||
|
_ptr1->_ptr2->_member = _Val; \
|
||
|
}
|
||
|
|
||
|
#define XTP_SAFE_SET3(_ptr1, _ptr2, _ptr3, _member, _Val) \
|
||
|
if (_ptr1 && _ptr1->_ptr2 && _ptr1->_ptr2->_ptr3){ \
|
||
|
_ptr1->_ptr2->_ptr3->_member = _Val; \
|
||
|
}
|
||
|
|
||
|
#define XTP_SAFE_CALL1(_ptr1, _member) \
|
||
|
if (_ptr1){ \
|
||
|
_ptr1->_member; \
|
||
|
}
|
||
|
|
||
|
#define XTP_SAFE_CALL2(_ptr1, _ptr2, _member) \
|
||
|
if (_ptr1 && _ptr1->_ptr2){ \
|
||
|
_ptr1->_ptr2->_member; \
|
||
|
}
|
||
|
|
||
|
#define XTP_SAFE_CALL3(_ptr1, _ptr2, _ptr3, _member) \
|
||
|
if (_ptr1 && _ptr1->_ptr2 && _ptr1->_ptr2->_ptr3){ \
|
||
|
_ptr1->_ptr2->_ptr3->_member; \
|
||
|
}
|
||
|
|
||
|
#define XTP_SAFE_CALL4(_ptr1, _ptr2, _ptr3, _ptr4, _member) \
|
||
|
if (_ptr1 && _ptr1->_ptr2 && _ptr1->_ptr2->_ptr3 && \
|
||
|
_ptr1->_ptr2->_ptr3->_ptr4) \
|
||
|
{ \
|
||
|
_ptr1->_ptr2->_ptr3->_ptr4->_member; \
|
||
|
}
|
||
|
|
||
|
#define XTP_SAFE_CALL5(_ptr1, _ptr2, _ptr3, _ptr4, _ptr5, _member) \
|
||
|
if (_ptr1 && _ptr1->_ptr2 && _ptr1->_ptr2->_ptr3 && \
|
||
|
_ptr1->_ptr2->_ptr3->_ptr4 && _ptr1->_ptr2->_ptr3->_ptr4->_ptr5) \
|
||
|
{ \
|
||
|
_ptr1->_ptr2->_ptr3->_ptr4->_ptr5->_member; \
|
||
|
}
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// The WM_XTP_CALENDAR_BASE constant is used by Calendar Control to help
|
||
|
// define private messages for use by private window classes, usually of
|
||
|
// the form WM_XTP_CALENDAR_BASE+X, where X is an integer value.
|
||
|
// See Also:
|
||
|
// WM_USER overview
|
||
|
//===========================================================================
|
||
|
const UINT WM_XTP_CALENDAR_BASE = (WM_USER + 9600);
|
||
|
|
||
|
// Internal properties (has prefix *xtp*)
|
||
|
static const LPCTSTR cszEventCustProp_NextReminderTime_Snoozed = _T("*xtp*NextReminderTime_Snoozed"); // String name of the corresponding property.
|
||
|
static const LPCTSTR cszEventCustProp_IconsIDs = _T("*xtp*CustomIcons"); // String name of the corresponding property.
|
||
|
static const LPCTSTR cszEventCustProp_CategoryIDs = _T("*xtp*Categories"); // String name of the corresponding property.
|
||
|
|
||
|
// Public custom properties
|
||
|
static const LPCTSTR cszEventCustProp_MarkupTemplate = _T("xtpMarkupTemplate"); // String name of the MarkupTemplate property.
|
||
|
|
||
|
// Markup template params
|
||
|
static const LPCTSTR cszCalendarMarkupPrm_Subject = _T("/Calendar/Events/Event/Subject"); //Subject.
|
||
|
static const LPCTSTR cszCalendarMarkupPrm_Location = _T("/Calendar/Events/Event/Location"); //Location.
|
||
|
static const LPCTSTR cszCalendarMarkupPrm_Body = _T("/Calendar/Events/Event/Body"); //Body.
|
||
|
static const LPCTSTR cszCalendarMarkupPrm_StartTime = _T("/Calendar/Events/Event/StartTime"); //Start time.
|
||
|
static const LPCTSTR cszCalendarMarkupPrm_EndTime = _T("/Calendar/Events/Event/EndTime"); //End time.
|
||
|
|
||
|
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// This structure describes parameters of the end of the recurrence
|
||
|
// pattern type.
|
||
|
//===========================================================================
|
||
|
struct XTP_CALENDAR_PATTERN_END
|
||
|
{
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Default constructor of the structure.
|
||
|
// Handles members initialization.
|
||
|
// See Also: ~XTP_CALENDAR_PATTERN_END
|
||
|
//-----------------------------------------------------------------------
|
||
|
XTP_CALENDAR_PATTERN_END()
|
||
|
{
|
||
|
m_nUseEnd = xtpCalendarPatternEndNoDate;
|
||
|
|
||
|
m_dtPatternEndDate = (DATE)0;
|
||
|
m_nEndAfterOccurrences = 1;
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Default destructor of the structure.
|
||
|
// Handles members deallocation.
|
||
|
// See Also: XTP_CALENDAR_PATTERN_END
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual ~XTP_CALENDAR_PATTERN_END(){};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This assignment operator is used to initialize a
|
||
|
// XTP_CALENDAR_PATTERN_END object.
|
||
|
// Parameters:
|
||
|
// rSrc - Source value.
|
||
|
// Returns:
|
||
|
// A reference to a valid XTP_CALENDAR_PATTERN_END object.
|
||
|
//-----------------------------------------------------------------------
|
||
|
const XTP_CALENDAR_PATTERN_END& operator=(const XTP_CALENDAR_PATTERN_END& rSrc)
|
||
|
{
|
||
|
m_nUseEnd = rSrc.m_nUseEnd;
|
||
|
|
||
|
if (rSrc.m_dtPatternEndDate.GetStatus() == COleDateTime::valid)
|
||
|
{
|
||
|
m_dtPatternEndDate = rSrc.m_dtPatternEndDate;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
m_dtPatternEndDate.SetStatus(rSrc.m_dtPatternEndDate.m_status);
|
||
|
}
|
||
|
|
||
|
m_nEndAfterOccurrences = rSrc.m_nEndAfterOccurrences;
|
||
|
|
||
|
return *this;
|
||
|
}
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
public:
|
||
|
XTPCalendarPatternEnd m_nUseEnd; // End type.
|
||
|
|
||
|
COleDateTime m_dtPatternEndDate; // End date.
|
||
|
int m_nEndAfterOccurrences; // End number of occurrences.
|
||
|
};
|
||
|
|
||
|
struct XTP_DAY_VIEW_GROUP_LAYOUT
|
||
|
{
|
||
|
CRect m_rcAllDayEvents; // The coordinates of the all day area.
|
||
|
CRect m_rcDayDetails; // The coordinates of days details area.
|
||
|
|
||
|
BOOL m_bShowHeader; // TRUE to show resource group header; FALSE otherwise.
|
||
|
|
||
|
// for office 2007 theme
|
||
|
int m_nHotState; // Last Items Hot state.
|
||
|
|
||
|
enum XTPEnumHotItem
|
||
|
{
|
||
|
xtpHotHeader = 0x001,
|
||
|
xtpHotScrollUp = xtpCalendarHitTestDayViewScrollUp,
|
||
|
xtpHotScrollDown = xtpCalendarHitTestDayViewScrollDown,
|
||
|
xtpHotAllDayEventsScrollUp = xtpCalendarHitTestAllDayEventsScrollUp,
|
||
|
xtpHotAllDayEventsScrollDown = xtpCalendarHitTestAllDayEventsScrollDown
|
||
|
};
|
||
|
};
|
||
|
|
||
|
struct XTP_VIEW_DAY_LAYOUT
|
||
|
{
|
||
|
CRect m_rcDay; // Day rectangle.
|
||
|
CRect m_rcDayHeader; // Day header rectangle.
|
||
|
|
||
|
CRect m_rcExpandSign; // Expand Sign rectangle.
|
||
|
|
||
|
int m_nHotState; // Last Items Hot state.
|
||
|
|
||
|
enum XTPEnumHotItem
|
||
|
{
|
||
|
xtpHotExpandButton = 0x001,
|
||
|
xtpHotDayHeader = 0x002,
|
||
|
};
|
||
|
};
|
||
|
|
||
|
struct XTP_DAY_VIEW_LAYOUT
|
||
|
{
|
||
|
int m_nVisibleRowCount; // Visible rows count on the day view.
|
||
|
|
||
|
CRect m_rcDayHeader;
|
||
|
CRect m_rcAllDayEvents;
|
||
|
|
||
|
int m_nRowCount; // Total rows count on the day view.
|
||
|
int m_nTopRow; // Top visible row on the day view.
|
||
|
|
||
|
int m_nAllDayEventsCountMax; // Reserved amount of all day events area to avoid area 'blinking' when dragging.
|
||
|
int m_nAllDayEventHeight; // The height of one event in all day events area.
|
||
|
|
||
|
int m_nVisibleAllDayCount;
|
||
|
int m_nTopAllDayRow;
|
||
|
};
|
||
|
|
||
|
struct XTP_VIEW_LAYOUT
|
||
|
{
|
||
|
int m_nRowHeight; // One row height in pixels.
|
||
|
};
|
||
|
|
||
|
struct XTP_TIMESCALE_LAYOUT
|
||
|
{
|
||
|
CRect m_rcHeader; // Time scale header rectangle.
|
||
|
CRect m_rcTimeZone; // Time zone rectangle.
|
||
|
int m_nXPosBase;
|
||
|
};
|
||
|
|
||
|
struct XTP_VIEW_GROUP_LAYOUT
|
||
|
{
|
||
|
CRect m_rcGroup; // Group View rectangle.
|
||
|
CRect m_rcGroupHeader; // Group View header rectangle.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// This struct store a Week View layout.
|
||
|
//===========================================================================
|
||
|
struct XTP_WEEK_VIEW_LAYOUT
|
||
|
{
|
||
|
int m_nGridColumns; // Number of columns in a week day grid.
|
||
|
int m_nDayHeaderHeight; // Height of a day header.
|
||
|
|
||
|
int m_nDayWidth; // Width of day rectangle.
|
||
|
int m_nDayHeidht; // Height of day rectangle.
|
||
|
};
|
||
|
|
||
|
|
||
|
//============================================================================
|
||
|
// Summary:
|
||
|
// predefine set of different scales based on time intervals
|
||
|
//============================================================================
|
||
|
enum XTPEnumCalendarTimeScaleParamsID
|
||
|
{
|
||
|
xtpTSPID_Unknown = 0,
|
||
|
xtpTSPID_Day = 1, //Day scale
|
||
|
xtpTSPID_Week = 2, //Week scale
|
||
|
xtpTSPID_Month = 3, //Month scale
|
||
|
xtpTSPID_WorkWeek = 4, //WorkWeek scale
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates customizable event edit operations.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarEditOperation
|
||
|
{
|
||
|
xtpCalendarEO_Unknown = 0, // Unknown operation value.
|
||
|
|
||
|
xtpCalendarEO_DragCopy = xtpCalendaDragModeCopy, // Drag copy event.
|
||
|
xtpCalendarEO_DragMove = xtpCalendaDragModeMove, // Drag move event
|
||
|
xtpCalendarEO_DragResizeBegin = xtpCalendaDragModeResizeBegin, // Drag Resizing event begin.
|
||
|
xtpCalendarEO_DragResizeEnd = xtpCalendaDragModeResizeEnd, // Drag Resizing event end.
|
||
|
|
||
|
xtpCalendarEO_EditSubject_ByF2, // In-place edit event subject by F2.
|
||
|
xtpCalendarEO_EditSubject_ByMouseClick, // In-place edit event subject by Mouse Click.
|
||
|
xtpCalendarEO_EditSubject_ByTab, // In-place edit event subject by TAB.
|
||
|
xtpCalendarEO_EditSubject_AfterEventResize, // In-place edit event subject after event resize.
|
||
|
|
||
|
xtpCalendarEO_Cut, // Cut events
|
||
|
xtpCalendarEO_Copy, // Copy events
|
||
|
xtpCalendarEO_Paste, // Paste event. wParam = XTP_EVENT_PASTE_OPERATION_PARAMS*. pEventViews member is NULL.
|
||
|
|
||
|
xtpCalendarEO_DeleteSelectedEvents, // Delete selected events.
|
||
|
xtpCalendarEO_DeleteEvent, // Delete event. Sent for a single event or for each selected event.
|
||
|
|
||
|
xtpCalendarEO_InPlaceCreateEvent // In-place event creation.
|
||
|
};
|
||
|
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumerates calendar selection types.
|
||
|
//===========================================================================
|
||
|
enum XTPCalendarSelectionChanged
|
||
|
{
|
||
|
xtpCalendarSelectionUnknown = 0, // Unknown selection value.
|
||
|
|
||
|
xtpCalendarSelectionDays = 1, // Days (or day hours for day view) selection. Use GetSelection() method to retrieve current selection.
|
||
|
xtpCalendarSelectionEvents = 2 // Events selection. Use GetSelectedViewEvents() and GetSelectedEvents() methods to retrieve currently selected events.
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This enum defines parameters for xtpCalendarUserAction_OnExpandDay
|
||
|
// user action.
|
||
|
// See Also: XTP_NC_CALENDAR_USERACTION, XTP_CALENDAR_USERACTION_PARAMS
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPCalendarExpandDayButton
|
||
|
{
|
||
|
xtpCalendarExpandDayButton_MonthView = 0x01, // Defines Month view expand button.
|
||
|
xtpCalendarExpandDayButton_WeekView = 0x02, // Defines Week view expand button.
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This enum defines parameters for xtpCalendarUserAction_OnScrollDay
|
||
|
// user action. (valid for office 2007 theme only)
|
||
|
// See Also: XTP_NC_CALENDAR_USERACTION, XTP_CALENDAR_USERACTION_PARAMS
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPCalendarScrollDayButton
|
||
|
{
|
||
|
xtpCalendarScrollDayButton_DayViewUp = xtpCalendarHitTestDayViewScrollUp, // Defines Day view Scroll Up button.
|
||
|
xtpCalendarScrollDayButton_DayViewDown = xtpCalendarHitTestDayViewScrollDown, // Defines Day view Scroll Down button.
|
||
|
|
||
|
//xtpCalendarScrollDayButton_DayViewAllDayUp = 5,
|
||
|
//xtpCalendarScrollDayButton_DayViewAllDayDown = 6,
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This enum defines set of flags which enable calendar items
|
||
|
// to send XTP_NC_CALENDAR_GETITEMTEXT notification.
|
||
|
// See Also:
|
||
|
// XTPCalendarGetItemTextEx, XTP_NC_CALENDAR_GETITEMTEXT,
|
||
|
// CXTPCalendarControl::GetAskItemTextFlags,
|
||
|
// CXTPCalendarControlPaintManager::GetAskItemTextFlags,
|
||
|
// CXTPCalendarControlPaintManager::SetAskItemTextFlags,
|
||
|
// CXTPCalendarTheme::GetAskItemTextFlags,
|
||
|
// CXTPCalendarTheme::SetAskItemTextFlags
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPCalendarGetItemText
|
||
|
{
|
||
|
xtpCalendarItemText_EventSubject = 0x00000001, // Send request to customize Event subject text before draw it.
|
||
|
xtpCalendarItemText_EventLocation = 0x00000002, // Send request to customize Event location text before draw it.
|
||
|
|
||
|
xtpCalendarItemText_DayViewDayHeader = 0x00000004, // Send request to customize Day view day header text. Used for office 2003 theme only.
|
||
|
xtpCalendarItemText_WeekViewDayHeader = 0x00000008, // Send request to customize Week view day header text. Used for office 2003 theme only.
|
||
|
xtpCalendarItemText_MonthViewDayHeader = 0x00000010, // Send request to customize Month view day header text. Used for office 2003 theme only.
|
||
|
|
||
|
xtpCalendarItemText_MonthViewWeekDayHeader = 0x00000020, // Send request to customize month view week day header text.
|
||
|
|
||
|
xtpCalendarItemText_EventToolTipText = 0x00000040, // Send request to customize event tooltip text.
|
||
|
//xtpCalendarItemText_GroupToolTipText = 0x00000080,
|
||
|
|
||
|
xtpCalendarItemText_EventStartTimeText = 0x00000100, // Send request to customize event start time text.
|
||
|
xtpCalendarItemText_EventEndTimeText = 0x00000200, // Send request to customize event end time text.
|
||
|
|
||
|
xtpCalendarItemText_CaptionBarDayViewDateLabel = 0x00000300, // Send request to customize caption bar date label for day view
|
||
|
xtpCalendarItemText_CaptionBarWeekViewDateLabel = 0x00000400, // Send request to customize caption bar date label for week view
|
||
|
xtpCalendarItemText_CaptionBarMonthViewDateLabel = 0x00000500 // Send request to customize caption bar date label for month view
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This enum defines set of flags which enable calendar items
|
||
|
// to send XTP_NC_CALENDAR_GETITEMTEXT notification.
|
||
|
// These flags are used for office 2007 theme only.
|
||
|
// See Also:
|
||
|
// XTPCalendarGetItemText, XTP_NC_CALENDAR_GETITEMTEXT,
|
||
|
// CXTPCalendarControl::GetAskItemTextFlags,
|
||
|
// CXTPCalendarControlPaintManager::GetAskItemTextFlags,
|
||
|
// CXTPCalendarControlPaintManager::SetAskItemTextFlags,
|
||
|
// CXTPCalendarTheme::GetAskItemTextFlags,
|
||
|
// CXTPCalendarTheme::SetAskItemTextFlags
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPCalendarGetItemTextEx
|
||
|
{
|
||
|
xtpCalendarItemText_EventBody = 0x00010000, // Send request to customize Event body text before draw it.
|
||
|
xtpCalendarItemText_EventMarkupTemplate = 0x04000000, // Send request to set Event Markup Template text before draw it.
|
||
|
|
||
|
xtpCalendarItemText_DayViewDayHeaderLeft = 0x00020000, // Send request to customize Day view day header text on the left.
|
||
|
xtpCalendarItemText_DayViewDayHeaderCenter = 0x00040000, // Send request to customize Day view day header text on the center.
|
||
|
xtpCalendarItemText_DayViewDayHeaderRight = 0x00080000, // Send request to customize Day view day header text on the right.
|
||
|
|
||
|
xtpCalendarItemText_WeekViewDayHeaderLeft = 0x00100000, // Send request to customize Week view day header text on the left.
|
||
|
xtpCalendarItemText_WeekViewDayHeaderCenter = 0x00200000, // Send request to customize Week view day header text on the center.
|
||
|
xtpCalendarItemText_WeekViewDayHeaderRight = 0x00400000, // Send request to customize Week view day header text on the right.
|
||
|
|
||
|
xtpCalendarItemText_MonthViewDayHeaderLeft = 0x00800000, // Send request to customize Month view day header text on the left.
|
||
|
xtpCalendarItemText_MonthViewDayHeaderCenter= 0x01000000, // Send request to customize Month view day header text on the center.
|
||
|
xtpCalendarItemText_MonthViewDayHeaderRight = 0x02000000 // Send request to customize Month view day header text on the right.
|
||
|
|
||
|
// xtpCalendarItemText_MonthViewWeekHeader = 0x08000000,
|
||
|
};
|
||
|
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
// Custom class name for the Calendar control window
|
||
|
static const LPCTSTR XTPCALENDARCTRL_CLASSNAME = _T("XTPCalendar");
|
||
|
static const LPCTSTR XTPCALENDARCAPTIONBAR_CLASSNAME = _T("XTPCalendarCaptionBar");
|
||
|
|
||
|
// for compatibility with previous versions
|
||
|
// see xtp_wm_UserAction
|
||
|
//
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
// String name of the calendar switch view custom message
|
||
|
static const LPCTSTR XTPCALENDARCTRL_SWITCHVIEWMSG = _T("XTPCalendarSwitchView");
|
||
|
// A message identifier of the calendar switch view custom message
|
||
|
const UINT xtp_wm_SwitchView = RegisterWindowMessage( XTPCALENDARCTRL_SWITCHVIEWMSG );
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
// String name of the calendar switch view custom message
|
||
|
static const LPCTSTR XTPCALENDARCTRL_USERACTION = _T("XTPCalendarUserAction");
|
||
|
|
||
|
// A message identifier of the Calendar User Action custom message
|
||
|
const UINT xtp_wm_UserAction = RegisterWindowMessage( XTPCALENDARCTRL_USERACTION );
|
||
|
|
||
|
// The font name for Office 2007 theme
|
||
|
#define XTP_CALENDAR_OFFICE2007_FONT_NAME _T("Segoe UI")
|
||
|
//////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
typedef DWORD XTP_NOTIFY_CODE;
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
#endif // !defined(_XTPCALENDARDEFINES_H__)
|