Einzelnen Beitrag anzeigen

Benutzerbild von anse
anse

Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
197 Beiträge
 
Delphi 11 Alexandria
 
#25

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm

  Alt 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
  Mit Zitat antworten Zitat