Print Page | Close Window

Holydays

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Calendar
Forum Description: Topics Related to Codejock Calendar
URL: http://forum.codejock.com/forum_posts.asp?TID=13925
Printed Date: 30 June 2025 at 2:02pm
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: Holydays
Posted By: zaksoft
Subject: Holydays
Date Posted: 05 April 2009 at 6:24am
All views change colors accordingly to working days specs. But how can I tell that a specif date is to be considered not working even if the day a working day (ie Xmas or monday after Easter) ? It is possible also the opposite (in Italy shops are normally open the sunday before XMas) ?
 
TIA.
 


-------------
VS2022 - MFC MBCS Statically linked

XTP 23.1 Static Link

---------------------------------------------------------

Davide Zaccanti - ZakSoft - www.zaksoft.com




Replies:
Posted By: mdoubson
Date Posted: 08 April 2009 at 4:21pm
You can use BeforeDrawThemeObject notification and some code like this
 
void CCalendarDemoView::OnBeforeDrawThemeObject(XTP_NOTIFY_CODE Event, WPARAM wParam , LPARAM lParam)

{

ASSERT(Event == XTP_NC_CALENDAR_BEFORE_DRAW_THEMEOBJECT);

if (Event != XTP_NC_CALENDAR_BEFORE_DRAW_THEMEOBJECT)

return;

CXTPCalendarThemeOffice2007* pTheme2007 = DYNAMIC_DOWNCAST(CXTPCalendarThemeOffice2007, GetCalendarCtrl().GetTheme());

ASSERT(pTheme2007);

if (!pTheme2007)

return;

static CFont s_fntStriked;

if (s_fntStriked.m_hObject == NULL)

{

LOGFONT lfIcon;

VERIFY(::SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(lfIcon), &lfIcon, 0));

lfIcon.lfWeight = FW_BOLD;

lfIcon.lfHeight = 80;

lfIcon.lfStrikeOut = 1;

s_fntStriked.CreateFontIndirect(&lfIcon);

}

if (wParam == xtpCalendarBeforeDraw_DayViewEvent)

{

CXTPCalendarDayViewEvent* pViewEvent = (CXTPCalendarDayViewEvent*)lParam;

if (pViewEvent && pViewEvent->GetEvent()->GetSubject().Left(1) == _T("*"))

{

pTheme2007->GetDayViewPartX()->GetDayPartX()->GetGroupPartX()->GetSingleDayEventPartX()->m_fcsetNormal.fcsetSubject.fntFont.SetCustomValue(&s_fntStriked);

pTheme2007->GetDayViewPartX()->GetDayPartX()->GetGroupPartX()->GetMultiDayEventPartX()->m_fcsetNormal.fcsetSubject.fntFont.SetCustomValue(&s_fntStriked);

pTheme2007->GetDayViewPartX()->GetDayPartX()->GetGroupPartX()->GetSingleDayEventPartX()->m_fcsetSelected.fcsetSubject.fntFont.SetCustomValue(&s_fntStriked);

pTheme2007->GetDayViewPartX()->GetDayPartX()->GetGroupPartX()->GetMultiDayEventPartX()->m_fcsetSelected.fcsetSubject.fntFont.SetCustomValue(&s_fntStriked);

}

}

if (wParam == xtpCalendarBeforeDraw_MonthViewDay)

{

CXTPCalendarMonthViewDay* pDay = (CXTPCalendarMonthViewDay*)lParam;

if (pDay->GetDayDate().GetDayOfWeek() == 3)  == make your weekend case!

{

pTheme2007->GetMonthViewPartX()->GetDayPartX()->m_clrBackgroundDark = RGB(196, 128, 128);

pTheme2007->GetMonthViewPartX()->GetDayPartX()->m_clrBackgroundLight = RGB(230, 128, 128);

pTheme2007->GetMonthViewPartX()->GetDayPartX()->m_clrBackgroundSelected = RGB(128, 228, 228);

//pTheme2007->GetMonthViewPartX()->GetDayPartX()->GetHeaderPartX()->

}

}



-------------
Mark Doubson, Ph.D.



Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net