![]() |
VST Zeile einfärben bei DBClick
Hi,
ich würde gerne bei einen Doppelklick auf eine Zeile, genau diese einfärben, nur wie?
Delphi-Quellcode:
Besitzt nicht die Parameter für
procedure Tfrm.VstDblClick(Sender: TObject);
Delphi-Quellcode:
TargetCanvas.Font.Color := clGreen
|
AW: VST Zeile einfärben bei DBClick
Ich würde jetzt spontan sagen, manipulier beim Doppelclick die Daten des Nodes und frage den entsprechenden Wert dann im BeforeCellPaint ab.
So mach ich das immer. |
AW: VST Zeile einfärben bei DBClick
Wie meinst du das mit manipulieren?
|
AW: VST Zeile einfärben bei DBClick
In den meisten Fällen hast Du doch ein Objekt im Hintergrund liegen, aus dem z.B. der Anzeigetext bezogen wird. Erweitere das Objekt um eine Eigenschaft "IsDblClicked" und setze diese für die aktuelle Node (FocusedNode) im DblClick auf True.
Im DrawText kannst Du diese aus dem dahinterliegenden Objekt dann auswerten und die Farbe entsprechend anpassen, dort gibt es einen manipulierbaren Canvas.
Delphi-Quellcode:
... so hab ich es verstanden. Code ungetestet, aber so ungefähr würde ich es auch machen :) Kämpfe mich nämlich gerade auch durch die Tiefen des Virtual Treeview bzgl. Drag&Drop usw.
procedure TfMain.vtDblClick(Sender: TObject);
var daten: TMyObject; aktnode: : PVirtualNode; begin aktnode := vt.FocusedNode; daten := TMyObject(vt.GetNodeData(aktnode)^); daten.IsDblClicked := True; end; .. // procedure TfMain.vtDrawText(Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex; const Text: WideString; const CellRect: TRect; var DefaultDraw: Boolean); var daten: TMyObject; begin daten := TMyObject(vt.GetNodeData(Node)^); if assigned(daten) and (TMyObject(daten).IsDblClicked) then TargetCanvas.Font.Color := clGreen; end; |
AW: VST Zeile einfärben bei DBClick
Ah nun versteh ich, Danke :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 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