Показать сообщение отдельно
  #1  
Старый 14.07.2010, 14:58
Аватар для SCrat.ORS
SCrat.ORS SCrat.ORS вне форума
Активный
 
Регистрация: 20.02.2007
Адрес: Мой адрес не дом и не улица, мой адрес 0x7С00
Сообщения: 208
Версия Delphi: 2006
Репутация: 884
По умолчанию Рисуем Меню своими руками на WinApi

Вопрос, как отрисовать меню с нуля?
Проблема в том, что помимо стандартного отрисования иконок меню, изврашенских рамок для выделения и прочего столкнулся вот с чем:
Если отрисовать полностью фон всего меню то иконки, чеки, текст и даже сепараторы не отрисовываюся ... беда...

Код:
...
function WindowProc(Window: HWND; aMessage, wParam,
  lParam: LongInt): LongInt; stdcall;
Begin
case AMessage of
...
  WM_DRAWITEM: 
...
               //Рисуем фон меню
             drawMenuWnd(lpdis.hDC);   

drawMenuWnd(lpdis.hDC) <- Функция полностью перересовывает фон меню, но она как бы закрашивает все остальное, если убрать эту строчку, то всё отрисовывается но на стандарном фоне.
Ранее рассматривали пересовку меню, но там фон не трогали...

menu.zip
__________________
Програмистами не рождаются, ими становятся!
Ответить с цитированием