Delphi-PRAXiS
Seite 1 von 3  1 23      

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/)
-   -   VirtualTreeView - Checkbox disablen (https://www.delphipraxis.net/80076-virtualtreeview-checkbox-disablen.html)

himitsu 2. Nov 2006 15:05


VirtualTreeView - Checkbox disablen
 
In der VirtualTreeView kann man sich doch solch nette CheckBoxen einblenden lassen, nun soll aber nicht immer der Wert (dat Häckchen) verändert werden können und dieses (die Nichtänderbarkeit) soll auch sichtbar sein.

Leider konnte ich aber keine Möglichkeit finden eine disablete Checkbox dort anzeigen zu lassen.

Derzeit hab ich mir dafür den angeklicken Unchecked-State mißbraucht und das Ändern intern unterbunten, aber eine richtig disablete Box gefiehle mir dennoch besser.


Falls da jemand zufällig 'nen Rat weiß .... biette melden.


Es geht mir aktuell um die Dateiliste dieses Programms: kleines Backup-/Abgleichsproggie

marabu 2. Nov 2006 16:24

Re: VirtualTreeView - Checkbox disablen
 
Hallo Frank,

ich kann es gerade nicht ausprobieren, aber genügt nicht schon das Hinzufügen von vsDisabled zur Eigenschaft States des Knoten?

Grüße vom marabu

himitsu 2. Nov 2006 16:35

Re: VirtualTreeView - Checkbox disablen
 
hmmm, ausprobiert hab ich das zwar noch nicht (werd's dann dennoch mal versuchen),

aber wenn das dann den gesamten Eintrag disabled, dann wäre es nicht so gut ... die Schrift sollte sich zumindestens nicht mit ändern und die Popups müssen auch noch anklickbar sein (darum hab ich ja bisher auch nur zur Checkbox was gesucht).

DP-Maintenance 2. Nov 2006 16:47

DP-Maintenance
 
Dieses Thema wurde von "Phoenix" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Geht um Komponenten

himitsu 3. Nov 2006 12:18

Re: VirtualTreeView - Checkbox disablen
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, wie ich nun bemerkte, hatte ich es doch schonmal mit Disabled versucht, allerdings lief dann garnichts mehr.

Sobald ich es versuche, kommt ein netter Fehler: :wall:
Und daß da der Fehler bei mir liegen könnte kann ich auch behaupten.
Hab ja nur eine ImageList angegeben und rücke über OnGetImageIndex den entsprechenden ImageIndex raus.

generic 3. Nov 2006 15:34

Re: VirtualTreeView - Checkbox disablen
 
Delphi-Quellcode:
var
  node: PVirtualNode;
begin
  node:=VirtualStringTree1.AddChild(nil);
  VirtualStringTree1.CheckType[node]:=ctCheckBox;
  VirtualStringTree1.IsDisabled[node]:=true;
end;
kann keine probleme feststellen.

imho sollte man es vermeiden die states direkt zu verändern.
aber besten immer über die passenden properties verändern.

himitsu 6. Nov 2006 11:30

Re: VirtualTreeView - Checkbox disablen
 
Ich versuch's mal so.

Derzeit ändere ich ja erstmal alles direkt im Node und sage dann dem VST daß es Änderungen gab ... eigenlich sollte es so doch auch gehen :grübel:

himitsu 7. Nov 2006 12:22

Re: VirtualTreeView - Checkbox disablen
 
Also, ich hab es jetut nochmal mit dem Disabled versucht, allerdings dabei mal keine Bilder eingeblendet, also onGetImageIndex unbearbeitet (ohne ImageIndex-Zuweisung) übergangen.

Und schon tritt der Fehler nicht mehr auf.
Es demnach wohl liegt an den Bildern. :gruebel:

Ich hab es auch schon mit verschiedenen vormaten versucht 4-Bit, 256-farbig und TrueColor ... keine Änderung.


@generic: hattes du da auch Bilder mit drin?

himitsu 21. Nov 2006 18:53

Re: VirtualTreeView - Checkbox disablen
 
Liste der Anhänge anzeigen (Anzahl: 3)
So, nichtmal in 'nem einfachen Test läuft es :cry:
(siehe Anhang)

Inzwichen weiß ich, daß die Variable Images (siehe markierte Fehlerzeile im Bild) NIL ist und demnach auch nichts zugewiesen werden kann.
Was nicht existiert, kann auch nicht genutzt werden ...



Delphi-Quellcode:
TBaseVirtualTree.PaintImage(var PaintInfo: TVTPaintInfo; ...
  PaintInfo.ImageInfo[iiOverlay].Images = nil

himitsu 28. Dez 2006 13:24

Re: VirtualTreeView - Checkbox disablen
 
*push* (und wehe einer meckert :stupid: )

Ich hab halt immernoch keine Lösung, also wenn wer was weiß....


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 Uhr.
Seite 1 von 3  1 23      

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