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.
|