Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   VirtualStringTree CheckBox selber zeichnen (https://www.delphipraxis.net/206338-virtualstringtree-checkbox-selber-zeichnen.html)

DieDolly 11. Dez 2020 13:25


VirtualStringTree CheckBox selber zeichnen
 
Ich probiere seit längerer Zeit mit dem VirtualStringTree rum. Das was ich umsetzen wollte, hat bisher auch alles geklappt.
Mit Icons aus Dateien habe ich meine Probleme, das lasse ich aber aktuell erstmal bei Seite.

Meine VST-Einträge male ich selber. Ich nutze dafür VSTAfterCellPaint (eigene Icons an eigenen Positionen), VSTAfterItemPaint (Text, zusätzlicher Text) und VSTAfterItemErase (Hintergrundfarbe).
Dadurch hat toCheckSupport natürlich keine Wirkung mehr.

Wie male ich die CheckBox pro Node jetzt selber und am besten in welchem Event?
Ich weiß, dass das notdürftig über
Delphi-Quellcode:
DrawFrameControl(TargetCanvas.Handle, CellRect, DFC_BUTTON, DFCS_BUTTONCHECK);
möglich ist. Aber das sieht alles andere als schön aus.

Ich überlege gerade aber auch noch, ob es einfacher wäre hierfür eine eigene Grafik zu verwenden.

DeddyH 11. Dez 2020 13:45

AW: VirtualStringTree CheckBox selber zeichnen
 
https://stackoverflow.com/questions/...ring-tree?rq=1, der CheckboxDecorator funktioniert nach meiner Erfahrung prima.

Aviator 11. Dez 2020 14:33

AW: VirtualStringTree CheckBox selber zeichnen
 
Zitat:

Zitat von DieDolly (Beitrag 1478958)
Meine VST-Einträge male ich selber. Ich nutze dafür VSTAfterCellPaint (eigene Icons an eigenen Positionen), VSTAfterItemPaint (Text, zusätzlicher Text) und VSTAfterItemErase (Hintergrundfarbe).

Hast du eine Einstellung gemacht, dass die Texte auch nicht mehr gemalt werden? Falls nicht, würde ich eher auf Events wie OnDrawText() und OnPaintText() setzen. Für den Hintergrund wäre OnBeforeCellPaint() die bessere Wahl. Die Icons im OnAfterCellPaint() kann man machen. Wenn du die aber weiterhin an der Standardposition gezeichnet haben willst, dann würde ich trotzdem weiterhin beim OnGetImageIndex(ex)() Event bleiben und die Icons aus einer ImageList laden.

DieDolly 11. Dez 2020 17:07

AW: VirtualStringTree CheckBox selber zeichnen
 
So habe ich es jetzt gemacht. Ich habe mein eigenes Bild reingemalt statt eine windows-typische-CheckBox da reinzeichnen zu lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz