Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Checkbox Grafik beziehen (https://www.delphipraxis.net/179144-checkbox-grafik-beziehen.html)

Medium 17. Feb 2014 10:36

Checkbox Grafik beziehen
 
Mahlzeit!

Ich möchte die Images in einem TreeView nutzen um für manche der Knoten eine Checkbox zur Verfügung zu stellen. Nicht für alle, daher ungerne über den "offiziellen" Weg, der imho alle Nodes mit einer Box ausstattet.
Dafür würde ich daber dennoch ganz gerne die Bilder benutzen, die vom OS des Benutzers standardmäßig benutzt würden, wenn man ein normales Checkbox Control hätte. Gerne auch mit Berücksichtigung von Theming. Leider lande ich im MSDN immer beim CheckBoxRenderer, der aber zu .NET gehört. Gibt es eine ähnliche Funktion der WinAPI, die mir die zwei Bildchen liefert?

Besten Dank im Voraus!

stahli 17. Feb 2014 11:40

AW: Checkbox Grafik beziehen
 
Für ein Grid hatte ich mal etwas gefunden.
Vielleicht hilft Dir das ... http://www.delphipraxis.net/163723-b...lung-grid.html

Medium 17. Feb 2014 12:27

AW: Checkbox Grafik beziehen
 
Das DrawFrameControl() aus dem da verlinkten delphi.about Thread ist genau der gesuchte Kandidat! Vielen Dank!

Aviator 17. Feb 2014 15:18

AW: Checkbox Grafik beziehen
 
Oder benutz den Virtual Tree View. Da kannst du pro Node angeben, ob der mit oder ohne Checkbox sein soll. Und du kannst auch das Aussehen der Checkbox bestimmen (in einem gewissen Rahmen). Ist natürlich etwas mehr Programmieraufwand, aber dafür hast du super Ergebnisse. Ich arbeite nur noch mit dem Teil. :thumb:

Medium 17. Feb 2014 16:54

AW: Checkbox Grafik beziehen
 
Ich hab mich jetzt schon etwas auf die TTreeList von TMS eingeschossen, und das klappt so weit auch wunderbar. Trotzdem danke für den Tipp! (Ich habe immer etwas Respekt vorm VTV, muss mich da mal dran trauen. Es scheint ja mächtig zu sein - auch im Lernprozess 8-))

Perlsau 18. Feb 2014 01:25

AW: Checkbox Grafik beziehen
 
Zitat:

Zitat von Medium (Beitrag 1248238)
Ich habe immer etwas Respekt vorm VTV, muss mich da mal dran trauen. Es scheint ja mächtig zu sein - auch im Lernprozess

Die VirtualTreeView-Komponente ist für mich unersetzlich geworden. Der Lernaufwand ist nicht wirklich so steil, wie manche behaupten. Ich hatte damals (ich glaube 2011), soweit ich mich noch erinnere, ein oder zwei Tage benötigt, bis ich die erste Testanwendung mit VTV fertig hatte. Das hat sich wirklich gelohnt!

jaenicke 18. Feb 2014 07:37

AW: Checkbox Grafik beziehen
 
Zitat:

Zitat von Perlsau (Beitrag 1248289)
Die VirtualTreeView-Komponente ist für mich unersetzlich geworden. Der Lernaufwand ist nicht wirklich so steil, wie manche behaupten.

Genau.

Ich bin gerade dabei einen neuen Beitrag zu dem Thema zu schreiben inkl. Beispielprogramm. Ich hoffe ich werde bald fertig damit. ;-)

Medium 18. Feb 2014 08:35

AW: Checkbox Grafik beziehen
 
Da hoffe ich dann mal direkt mit :) Cool, danke im Voraus schon mal dafür. Die nächste Iteration der GUI kommt bestimmt, und sicherlich auch mit Wünschen zum Baum.

Codehunter 18. Feb 2014 12:42

AW: Checkbox Grafik beziehen
 
Ich muss sagen, VirtualTreeView hat bei mir das halbe Anwendungsdesign verändert. Ich benutze den fast nur noch, außer für rein statische Bäume wo man die Nodes schon in der IDE anlegen will (z.B. Navigationsbäume in Settings-Fenstern). Ansonsten nur noch VTV und seitdem arbeite ich auch wesentlich mehr mit Zeigern und Records als früher. Was halt ein bisschen kompliziert ist: Die Implementierung von Editoren. Die Property-Editor-Demo demonstriert das zwar recht anschaulich, aber eben auch den Aufwand. Da wäre es sehr schick wenn in der Hinsicht noch mehr direkt in die VTV-Komponente integriert würde.

jaenicke 18. Feb 2014 16:09

AW: Checkbox Grafik beziehen
 
Zitat:

Zitat von Codehunter (Beitrag 1248345)
Ich benutze den fast nur noch, außer für rein statische Bäume wo man die Nodes schon in der IDE anlegen will (z.B. Navigationsbäume in Settings-Fenstern).

Dafür habe ich eine abgeleitete Komponente, die die Daten dafür zur Designzeit editieren lässt und speichert und anzeigt. Das ist ja auch schnell gemacht.

Zitat:

Zitat von Codehunter (Beitrag 1248345)
Ansonsten nur noch VTV und seitdem arbeite ich auch wesentlich mehr mit Zeigern und Records als früher.

Mache ich gar nicht. Ich nutze eine abgeleitete Version, die eine generische Methode Get<T> hat und direkt das gespeicherte Objekt als der konkrete Typ zurück liefert. Sprich:
Delphi-Quellcode:
Tree.AddChild(nil, MyObject);
...
Tree.Get<TMyObject>(Node)...
Zitat:

Zitat von Codehunter (Beitrag 1248345)
Was halt ein bisschen kompliziert ist: Die Implementierung von Editoren. Die Property-Editor-Demo demonstriert das zwar recht anschaulich, aber eben auch den Aufwand. Da wäre es sehr schick wenn in der Hinsicht noch mehr direkt in die VTV-Komponente integriert würde.

Ja, da knabbere ich gerade ein wenig bei meinem Hexeditor auf Basis einer VTV, der zwar sehr schnell ist, aber vom Bedienkomfort noch nicht so schön ist. (Da HxD leider nicht weiterentwickelt wird, entwickle ich gerade einen eigenen...)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 Uhr.
Seite 1 von 2  1 2      

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