2008-09-19 1 views
3

Цель: использовать стандартный элемент управления Win32 MonthCal и рисовать дни, такие как праздники в RED.Подкласс в месяцCal control в Win32

Похоже, что родной подход Win32 будет использовать уведомление MCN_GETDAYSTATE, которое, похоже, позволяет выделить только отдельные дни в Bold.

Возможное (но отклоненное) решение состоит в том, чтобы написать мой собственный календарь, написанный по-разному, заставляя себя прямо из поддержки темы - это означает, что мой контроль не будет согласован с пользовательским интерфейсом, когда будут появляться новые темы.

Если кто-нибудь столкнулся с этой проблемой, решение было бы высоко оценено.

+0

Я думаю, что жесткое требование для определенного цвета уже вытесняет вас из поддержки темы. – 2008-09-19 14:33:48

ответ

0

Невозможно сделать. Этот элемент управления поддерживает только выделение жирным шрифтом нескольких дней.

На какой платформе вы нацеливаетесь (рабочий стол или WM?) Если рабочий стол, действительно ли это win32 или приемлемо решение MFC?

1

Хорошо, если ваше приложение не использует MFC, но написано в чистых вызовах win32, MFC-контроль, чтобы делать то, что вы хотите, не может быть и речи. Таким образом, вы можете сделать контроль с MFC или с помощью win32 - очевидно, что MFC-контроль будет использовать win32 под капотом, но 15-летнее соглашение разработчиков Windows говорит, что когда кто-то говорит об «контроле win32», это элемент управления, который использует только вызовы win32 , никакие внешние библиотеки и «MFC control» не являются «контролем, который прямо или косвенно вытекает из CWnd и использует классы MFC и шаблоны использования».

В любом случае, посмотрите на http://www.bcgsoft.com/samples/calendar.htm. У них есть элемент управления в своем наборе пользовательского интерфейса, который выглядит как элемент управления MonthCal, но где вы можете указать диапазоны дат и т. Д. С цветами.

Смежные вопросы