![]() |
VirtualStringTree Header Mousemove
Hallo allerseits!
Ich benutze AdvancedHeaderDraw um meine Headercolums selber zu zeichnen. Das klappt auch schon alles wie es soll. Jetzt hätte ich gerne das Sich der Headercolum selbst neu zeichnet wenn ich mit der Mouse über einen bestimmten Teil des HeaderColumns fahre. Die Koordinaten bekomme ich schon über Headermouesemove, jedoch muss ich ja dann einen Paintevent für den Headercolumn auslösen, sprich ein AdvandedHeaderDraw event. Jedoch weis ich nicht wie ich dort an die TPaintinfo komme. Komplettes Neuzeichnen des Tree's hilft anscheinend nicht und wär auch worstcase in dem Fall. Es muss doch ne Möglichkeit geben ein neuzeichen des HeaderColumns auszulösen? mfg newbe |
AW: VirtualStringTree Header Mousemove
Du könntest die Funktion vst.Header.Invalidate benutzen. Die zeichnet die Spalte des Headers komplett neu. Wenn ExpandToRight true ist, werden alle Columns rechts davon ebenfalls neu gezeichnet. Nützlich beim Resizen von Columns. Und bei dieser Funktion musst du nur den ColumnIndex übergeben und brauchst dir nicht die Arbeit zu machen, irgendwie an die PaintInfo dran zu kommen. :)
|
AW: VirtualStringTree Header Mousemove
@Aviator
vielen Dank für Deinen Tip, funktioniert bestens. :) mfg newbe |
AW: VirtualStringTree Header Mousemove
Bitte bitte. Hier kann man sich natürlich noch die Funktionen der Klasse TVirtualTreeColumns zu Hilfe nehmen. Da du ja im OnHeaderMouseMove Event des Trees neu zeichnen möchtest, könntet das dann so aussehen:
Delphi-Quellcode:
Das nur noch als Ergänzung hierzu. Viel Spaß weiterhin mit dem VST. :thumb:
procedure TfrmMain.vstHeaderMouseMove(Sender: TVTHeader; Shift: TShiftState; X, Y: Integer);
begin Sender.Invalidate(Sender.Columns[Sender.Columns.ColumnFromPosition(Point(X, Y))]); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 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-2025 by Thomas Breitkreuz