Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
197 Beiträge
Delphi 11 Alexandria
|
Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
11. Mär 2009, 00:57
Seit Revision 175 kann man einen column header nicht mehr anklicken wenn dem ein Icon zugewiesen wurde - der Event OnHeaderClick wird nicht gefeuert. Ursache dafür scheint TVirtualTreeColumns.HandleClick() welche für Columns mit einem Icon FHeader.Treeview.DoHeaderImageClick statt FHeader.Treeview.DoHeaderClick auslöst:
Delphi-Quellcode:
procedure TVirtualTreeColumns.HandleClick(P: TPoint; Button: TMouseButton; Force, DblClick: Boolean);
...
begin
...
if not Items[NewClickIndex].FHasImage then // If there is no image for this column, perform normal HeaderClick.
FHeader.Treeview.DoHeaderClick(NewClickIndex, Button, Shift, P.X, P.Y);
else
if PtInRect(Items[NewClickIndex].FImageRect, P) then
if not Items[NewClickIndex].CheckBox then
FHeader.Treeview.DoHeaderImageClick(NewClickIndex, Button, Shift, P.X, P.Y)
else
begin
FHeader.Treeview.UpdateColumnCheckState(Items[NewClickIndex]);
FHeader.Treeview.DoHeaderCheckBoxClick(NewClickIndex, Button, Shift, P.X, P.Y);
end;
FHeader.Invalidate(Items[NewClickIndex]);
end
...
Ansgar Becker
|
|
Zitat
|