Вниз
Скачать: CL | DM;

Не приходит LB_GETITEMRECT   Найти похожие ветки 

 
_Seldon_   (2005-08-12 22:10) [0]

делаю так:

TMyListBox = class(TListBox)
private
 procedure LBGetItemRect(var Msg:TMessage); message LB_GETITEMRECT;
end;

implementation

procedure TMyListBox.LBGetItemRect(var Msg: TMessage);
begin
 inherited; {!}
 Beep
end;

end.


в {!} управление не приходит ни разу за всё время жизни листбокса. Судя по Spy++ LB_GETITEMRECT вообще не приходит листбоксу. Почему?


 
Piter ©   (2005-08-12 22:57) [1]

_Seldon_   (12.08.05 22:10)
procedure LBGetItemRect(var Msg:TMessage); message LB_GETITEMRECT;


что-то я не понял. Сообщение вроде как ListBox"у должно приходить, а ловишь ты его, как будто оно приходит форме.

Ы?


 
Ученик   (2005-08-12 23:45) [2]

>_Seldon_   (12.08.05 22:10)  
TListBox.OnMeasureItem
Style = lbOwnerDrawVariable


 
_Seldon_   (2005-08-13 01:18) [3]


>  [1] Piter ©   (12.08.05 22:57)

а что сдесь похожего на форму? :)


>  [2] Ученик   (12.08.05 23:45)

мне надо не высоту изменить, а сдвинуть некоторые элементы вправо...


 
Ученик   (2005-08-13 10:12) [4]

Borland\Delphi7\Source\Vcl\checklst.pas

procedure TCheckListBox.CNDrawItem(var Message: TWMDrawItem);


 
_Seldon_   (2005-08-13 12:17) [5]


>  [4] Ученик   (13.08.05 10:12)
> Borland\Delphi7\Source\Vcl\checklst.pas
>
> procedure TCheckListBox.CNDrawItem(var Message: TWMDrawItem);

спасибо, то что надо.

а почему всё-таки не приходит LB_GETITEMRECT?

и в каких случаях окну посылается CN_DRAWITEM? я так понимаю, что это сообщение Delphi а не Windows? но результат его обработки должен как-то передаваться Windows, ведь она сдвигает элементы в листбоксе....


 
Ученик   (2005-08-13 20:54) [6]

>_Seldon_   (13.08.05 12:17) [5]

LB_GETITEMRECT, насколько я понимаю, посылает приложение для определения координат элемента списка, а не система для отображения.

CN_DRAWITEM посылается из
procedure TCustomListBox.WMPaint(var Message: TWMPaint);



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.029 c
14-1127070344
Fl@sh
2005-09-18 23:05
2005.10.09
Винт+перезагрузка


8-1116421823
andrey12
2005-05-18 17:10
2005.10.09
Проблеммы с мр3 и медиаплэером как убрать глюки?


14-1126702045
Копир
2005-09-14 16:47
2005.10.09
О древних цивилизациях.


10-1105600193
Vlash
2005-01-13 10:09
2005.10.09
Вывод окна приложения-сервера на передний план


2-1125308192
Zikmu
2005-08-29 13:36
2005.10.09
Запуск приложений




   Наверх