Здравствуйте 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).