Hallo
DP-Spezialisten,
vorab nochmals wie schon an manch anderer Stelle hier der Hinweis: ich hab noch keine Uni von innen gesehen und mir alles selber beigebracht. Also steinigt mich nicht gleich, wenn ich ein paar dumme Fragen von mir gebe.
Ausgangs-Situation: da ich den direkten Schritt von D7 auf XE2 gemacht habe, hat meine History über die
VCL-Controls-Erweiterungen ein paar Löcher. Ich wollte jetzt mal den für mich neuen TButton mit dem Style "bsSplitButton" ausprobieren. Leere Form, Button drauf, Popupmenü dazu, als DropDownMenu des Buttons das Popupmenu zugewiesen, compiliert, die MiniApp laufen lassen, und....weit und breit kein TButton in Sicht.
Nach langem Ausprobieren habe ich dann festgestellt, es liegt an den Projekteigenschaften "Laufzeit-Themes". Wenn die aus sind, kein TButton in Sicht, sind sie aktiviert, ist der Button da. Online-Hilfe befragt und eine Menge Antworten gefunden, aber die Zusammenhänge irgendwie nicht kapiert.
In der Hilfe steht: Gibt an, ob die Anwendung, die Sie entwickeln, Laufzeit-Themes oder ein benutzerdefiniertes Manifest verwenden soll. Was zum Henker hat ein Manifest mit Laufzeit-Themes zu tun? Bzw. wie hängt das zusammen?
Ich dachte immer, ein Manifest brauche ich beispielsweise um eine App (die nicht "install", "setup" usw. im Exe-Namen enthält) als Admin auszuführen, bzw. über den
UAC-Dialog dessen Ausführung als Admin zu bekommen.
"Laufzeit-Themes" und ähnliche Suchbegriffe bringen in der Delphi-Hilfe keine Erleuchtung. Himitsu's Manifest-Creator hab ich mir auch angesehen, aber nicht wirklich verstanden um was es geht.
Prinzipiell verstanden habe ich, wenn ich die Laufzeit-Themes aktiviere, dann sieht mein Programm nicht mehr nach "Old Style" aus, sondern wie ein aktuelles Windows-Programm. Dann kann ich auch problemlos Windows-Styles verwenden. Auch das Aktivieren von Windows-Styles zur Laufzeit klappt via
TStyleManager.SetStyle(TStyleManager.LoadFromFile('meine_style_datei.vsf'));
Aber dann - mein zweites Problem - sehen manche Formulare (die ich übrigens alle zur Laufzeit erzeuge) auf den ersten Blick richtig bescheiden aus. Labels sind nicht lesbar usw. siehe Bild. Wenn ich allerdings mit der Maus drüfer fahre, oder die [Alt]-Taste drücke, verschwindet das seltsame Verhalten. Aber wie gesagt nicht bei allen Formularen, sondern nur bei einigen wenigen.
Hat jemand ein paar Tipps/Links für mich, wo ich mich schlau lesen kann? Google spuckt soooo viel aus, das habe ich schon ein paar Stunden hinter mir.