![]() |
Ich habe einige fragen zu VirtualStringTree
Liste der Anhänge anzeigen (Anzahl: 2)
Hi.
Ich male die icons und den text selbst. und jetzt zum problem. 1# wie kann ich die Edit Box selbst zeichnen / verschieben? 2# gibt es eine möglichkeit die selection selbst zu zeichnen? wenn ich nicht "toUseBlendedSelection" benutze ist das icon nicht sichtbar. siehe die Screenshots. thx. |
AW: Ich habe einige fragen zu VirtualStringTree
Hi Wishmaster,
Zitat:
Falls du hiermit Probleme haben solltest, kann ich dir auch mal ein einfaches Beispiel schicken. Zitat:
Zitat:
Delphi-Quellcode:
in den TreeOptions --> PaintOptions ein, damit die eigene Selektion vom Tree schonmal nicht gemalt wird. Ab dann kannst du diese selbst zeichnen. Am Besten im OnBeforeCellPaint Event, da dieses das Event ist, dass vor allen anderen "wichtigen" Zeichnungs Events ausgelöst wird.
toAlwaysHideSelection
So sollte es z.B. funktionieren:
Delphi-Quellcode:
Dann musst du natürlich noch abfragen, ob diese Node die gerade gezeichnet wird auch die FocusedNode ist bzw. ob diese "selected" ist. Oder du merkst dir die zu malende Node in einer Variablen.
procedure TfrmMain.vst1BeforeCellPaint(Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode;
Column: TColumnIndex; CellPaintMode: TVTCellPaintMode; CellRect: TRect; var ContentRect: TRect); begin TargetCanvas.Brush.Color := vst1.Colors.FocusedSelectionColor; TargetCanvas.FillRect(CellRect); end; Wenn du weitere Fragen hast, dann nur her damit. PS.: Schau dir mal in der Hilfe zum Tree (die PDF Datei nicht die CHM Datei) Seite 36ff an. Dort findest du eine Übersicht über den Ablauf aller PaintEvents. Hier mal die Kurzübersicht: Zitat:
|
AW: Ich habe einige fragen zu VirtualStringTree
Hi. danke für die antwort.
ich meinte eigentlich, gibt es eine möglichkeit das vorhandene edit feld zu manipulieren. wenn du eine TImageList verwendest wird das ja alles berücksichtigt. wenn ich alles selbst zeichne, weiß die VirtualStringTree ja nicht dass den text um ~20 pixel nach rechts verschiebe. so deswegen muss ich die Edit box auch ~20 Pixel nach rechts verschieben. wegen den icons, das haben wir in einem anderen topic ausführlich durchgekaut ![]() BeforeCellPaint ist nicht ganz was ich brauche. wenn du dir die Screenshots anschaust. wirst du sehen dass ich die funktion schon nutze. aber vielleicht kann sie mir doch von nutzen sein. |
AW: Ich habe einige fragen zu VirtualStringTree
Zitat:
Schau dir mal in der AdvancedDemo das Beispiel "Property Tree" (oder so ähnlich) und den zugehörigen Quellcode an. Das ist das was ich in meinem ersten Beitrag meinte. Mit diesen eigenen Editoren kannst du alles komplett selbst bestimmen und bist nicht auf das eigene Editfeld vom VST angewiesen. Dort gibt es dann auch die von mir erwähnte SetBounds() Procedure, mit der du die Left Position deines Rects, in das das Editfeld gezeichnet werden soll, anpassen kannst. Edit (noch was vergessen): Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:47 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