Re[3]: Меню в Windows
От: Кодт Россия  
Дата: 25.12.01 09:33
Оценка:
Здравствуйте Luchkin, Вы писали:

L>Здравствуйте Кодт.


L>Вы всё верно описываете, так оно и есть, например, на ОС Win NT 4. Эта проблема вылезла только на Win XP. В ней изменение цвета фона меню на главное меню приложения влияния не оказывает, а оказывает влияние только на выпадающие меню следующих уровней.

L>Собственно у меня есть меню у которого я обрабатываю сообщение WM_DRAWITEM. Для цвета фона я использую кисть получаемую как GetSysColorBrush(COLOR_MENU). В результате при стандартной голубой палитре WinXP главное меню своим фоном выделяется от соседних элементов.

Не получилось так — прочтем руководство

MSDN 2001, Platform SDK ... GetSysColor()

COLOR_MENUHILIGHT
Windows XP: The color used to highlight menu items when the menu appears as a flat menu (see SystemParametersInfo). The highlighted menu item is outlined with COLOR_HIGHLIGHT.

COLOR_MENUBAR
Windows XP: The background color for the menu bar when menus appear as flat menus (see SystemParametersInfo). However, COLOR_MENU continues to specify the background color of the menu popup.

Чтобы обойти платформенную зависимость, может быть, можно воспользоваться фоновым цветом окна (то есть — менюшки, ведь ее хэндл передается в обработчик WM_DRAWITEM).
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.