Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

В WM_DRAWITEM [D6, WinXP]


anod ©   (2002-08-10 23:31:00) 

в lparam приходит структура TDRAWITEMSTRUCT, подскажите как мне её обработать (присвоить переменной), да и написанно, что нужно возвратить значение true, как это реализовать?


anod   (2002-08-12 03:52:00) [1]

Я врубился как для нажатой кнопки прорисовывать, а если мышь находится над кнопкой (onMouseMove), то WM_DrawItem здесь не подходит...
IDC_MENU: case dis.itemAction of
ODA_SELECT:if (ODS_SELECTED and dis.itemState)<>0 then begin c.X:=90; c.Y:=32; end;
else c.X:=90; c.Y:=0;
end;
StretchBlt(dis.hDC, dis.rcItem.left, dis.rcItem.top, dis.rcItem.right-dis.rcItem.left, dis.rcItem.bottom - dis.rcItem.top, cbDC, c.X, c.Y,15,15, SRCCOPY);


Юрий Зотов   (2002-08-11 23:49:00) [2]

Какой пример нужен - на чистом API или для TButton?

А еще проще - давайте сюда Ваш пример на С, народ моментом переведет...


anod   (2002-08-11 18:28:00) [3]

Я думал, что в DRAWITEMSTRUCT можно определить когда кнопка (именно её я перерисовываю) нажата или над ней мышь, если да то кинте примерчик, а то я с С никак не могу перевести в Паскаль.


anod   (2002-08-11 14:00:00) [4]

Огромнейшее спасибо.
Я как только не извращался с этим


Юрий Зотов   (2002-08-11 13:31:00) [5]

Sorry, невнимательно прочитал вопрос. Исправляюсь.

var
DIS: TDrawItemStruct;
begin
DIS := PDrawItemStruct(Message.LParam)^;
...
Message.Result := Integer(True)
end;


Юрий Зотов   (2002-08-11 13:23:00) [6]

Уточните, о чем идет речь. Это обработка WM_DRAWITEM или что-то другое?


Наверх

Титульная страница Поиск, карта сайта Написать письмо