Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - XPManifest und Checklistbox


Master_of_Magic - Sa 02.07.05 20:25
Titel: XPManifest und Checklistbox
Ich wollte meinem Programm den XP-Style verpassen und verwende daher die Manifest-Komponente.

Jetzt hab ich das Problem, dass sich der Hintergrund der Checklistboxen nicht ändert, sondern den voreingestellten Wert beibehält. Somit hab ich jetzt mein ganzen Programm im XP-Style, nur bei den Checklistboxen gibts 'nen hässlichen grauen Hintergrund!

Weiß mir da jemand Abhilfe? Bei allen anderen Komponenten werden die Hintergrundfarben ja auch ignoriert...


Delete - Mo 04.07.05 00:56

Eine Begründung hätte ich, aber keine Lösung. Die WinAPI stellt so keine CheckListBox zur Verfügung, das heißt die VCL CheckListBox wird eine normale ListbBox sein deren Items mit dem Stil OwnerDraw selber gezeichnet werden mit der CheckBox. Und dann kann das Manifest natürlich nichts machen, weil Windows dioe Items gar nicht selber zeichnet.


Martin1966 - Mo 04.07.05 09:01

Hallo!

Die Antwort von Luckie ist korrekt - glaube ich. ;-)

Eine Lösung wäre die ThemeManager [http://www.soft-gems.net/ThemeManager.php]-Komponente von Mike Lischke! Kannst ja mal ausprobieren und hier berichten ob es funktioniert hat. Viel Erfolg!

Lg Martin


Master_of_Magic - Fr 15.07.05 18:36

Ich hab jetzt mal den Theme-Manager runtergeladen, aber irgendwie komm ich damit nich zurecht ...
Entweder bin ich unfähig, oder da gibts keine extra Komponente. Aus der Hilfe werd ich auch net schlau :(
Kann mir da jemand helfen oder mir ne Möglichkeit sagen, wie ich die CheckListbox trotzden (in etwa) an die Umgebungsfarbe anpassen - oder noch besser - transparent machen kann?
Weil im Moment sieht der graue Kasten auf fast weißem Untergrund hässlich aus ^^


Master_of_Magic - So 17.07.05 17:10

Das Problem tritt übrigens bei einer normalen List-Box auch auf! Kann ich irgendwie die Hintergrundfarbe der Komponenten mit dem Theme auslesen, damit ich sie nach dem Programmstart manuell anpassen kann?
Die normale Color Proberty liefert mir ja die eingestellte Farbe (z.B. clBtnFace), aber die ist ja dann falsch!


Carsten Hölscher - Mo 01.10.12 02:32

An der Stelle stehe ich auch gerade - gibt's dazu einere neue Erkenntnis? (Delphi 7 ist im Einsatz).

Carsten


jaenicke - Mo 01.10.12 09:24

Eine einfache Lösung ist einfach eine bessere Komponente zu benutzen, sprich die VirtualTreeView z.B.:
http://code.google.com/p/virtual-treeview/

Oder eine neuere Delphiversion, denn aktuelle machen das selbstverständlich richtig.