![]() |
Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
Zur Info: Benötigt werden noch die Dateien (Compilers.inc etc.) von svn://www.soft-gems.net/library/Common/ damit sich der VST installieren lässt.
|
Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
Zitat:
|
Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
Hallo zusammen,
ich habe gerade Virtual Treeview 4.8.3 ins Repository geschoben (Revision 178). Die neue Version ist nun (u.a.) auch in der Lage, den Explorerstyle von Windows Vista darzustellen. Außerdem habe ich noch mal Kontak mit Mike Lischke und Jim Kuenemann aufgenommen. Ich bin zuversichtlich, dass Virtual Treeview 4.8.3 in den nächsten Tagen unter soft-gems.net als "offizielle Version" inkl. Setup bereitgestellt wird. Daniel |
Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
Zitat:
|
Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
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 ... |
Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
Hmm. Kleine Korrektur, der Event OnHeaderImageClick war mir neu. Habe also OnHeaderImageClick in meinem Tree die gleiche Prozedur wie OnHeaderClick zugewiesen. Ausgelöst wird er dennoch nicht.
Wofür sind die OnHeaderClick Events eigentlich getrennt nach "Hat Icon" / "hat kein Icon" / "hat checkbox" / "hat keine checkbox"? |
Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
Liste der Anhänge anzeigen (Anzahl: 1)
Habs gefixt und einen Patch angehängt.
Damit wird jetzt der OnHeaderClick event ausgelöst, auch wenn die Column ein Icon hat, aber nur wenn der Klick-Punkt nicht genau auf dem Icon liegt - in letzterem Fall würde wie gehabt der OnHeaderImageClick ausgelöst. Plus: Wenn OnHeaderImageClick keine Prozedur zugewiesen ist, wird in DoHeaderImageClick als Fallback wenigstens der OnHeaderClick ausgelöst, was in jedem Fall sinnvoll ist. |
Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
Moin,
die verschiedenen Klickprozeduren sind mehr oder weniger historisch gewachsen. Mike Lischke hat bereits angeregt, die entsprechenden Ereignisse zu vereinheitlichen und eine einheitliche Klickprozedur mit Hittest-Infos anzubieten. Ich werde das in nächster Zeit in meiner Freizeit mal in Angriff nehmen. Ausserdem möchte ich auch das unterschiedliche Verhalten des Trees bei einem Fokuswechsel je nachdem ob er via Keyboard oder Maus erfolgte beseitigen. Wenn ihr weitere Wünsche habt, könnt ihr die gern hier zusammentragen ;-) |
Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
Die Version 4.8.3 von der
![]() Changelog ![]() |
Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
<meckerkasten>Leider ist das Changelog im VirtualTree SVN etwas unleserlich, da meist mehrere, teilweise über 20 logische Änderungen in einem Commit gemacht wurden. Eigentlich gehört pro Commit nur eine Änderung da rein.</meckerkasten>
Ansonsten bin ich auch gern bereit weitere Patches zu liefern, bin mir nur nie sicher wohin damit? Ich möchte ungern mit Privat-Mails nerven, praktischer und zielführender wäre ein offizieller Issue tracker in dem man Patches an Bug-Tickets anhängen kann. Vorschlag: das vorhandene ![]() ![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz