XP-Theme per Manifest?
- Aidex
- Beiträge: 60
- Registriert: Do 24. Sep 2020, 07:02
- OS, Lazarus, FPC: Win10 64bit, Laz v2.0.10
- CPU-Target: AMD64
XP-Theme per Manifest?
Hi!
Betrifft Windows: Ich habe in den Projekteinstellungen gefunden: "Manifest-Ressource verwenden (und Themen aktivieren)".
Seitdem sieht mein Programm nicht mehr nach Windows 95 aus.
Allerdings würde ich gerne speziell den XP-Theme auswählen/festlegen, weil ich mein altes Programm unter Delphi 7 darauf abgestimmt hatte.
Wie ist die simpelste Vorgehensweise? Ich habe im Forum eine 11 Jahre alte Anleitung entdeckt, die mir aber umständlich erscheint und vielleicht nicht mehr aktuell ist.
Danke, Jörg
Betrifft Windows: Ich habe in den Projekteinstellungen gefunden: "Manifest-Ressource verwenden (und Themen aktivieren)".
Seitdem sieht mein Programm nicht mehr nach Windows 95 aus.
Allerdings würde ich gerne speziell den XP-Theme auswählen/festlegen, weil ich mein altes Programm unter Delphi 7 darauf abgestimmt hatte.
Wie ist die simpelste Vorgehensweise? Ich habe im Forum eine 11 Jahre alte Anleitung entdeckt, die mir aber umständlich erscheint und vielleicht nicht mehr aktuell ist.
Danke, Jörg
-
- Beiträge: 576
- Registriert: Sa 22. Okt 2016, 23:12
- OS, Lazarus, FPC: W10, L 2.2.6
- CPU-Target: 32+64bit
- Wohnort: Dresden
Re: XP-Theme per Manifest?
Rechtsklick auf exe -> Eigenschaften -> Kompatibilität -> Kompatibilitätsmodus -> Haken bei "Programm im Kompatibilitätsmodus ausführen für:" -> Windows XP SP auswählen?
LG Maik
Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)
Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)
Re: XP-Theme per Manifest?
Evtl. gibt es irgendwo eine Theme-Engine, die das XP-Theme nachrüstet. Aber zumindest beim Standard-Win-10 gibt es das unter Personalisierung > Designs nicht.
Allerhöchstens, wenn es unbedingt wie XP aussehen muss, könntest du über den Online-Package-Manager das Package JvclXPCtrlsLazD installieren, das einige Komponenten mit dem entsprechenden Look verfügbar macht. Allerdings sind nur wenige Controls vorhanden, und du müsstest auch alle TButtons durch den TJvXPButton, die TCheckbox durch die TJvXPCheckbox usw. ersetzen.
- Aidex
- Beiträge: 60
- Registriert: Do 24. Sep 2020, 07:02
- OS, Lazarus, FPC: Win10 64bit, Laz v2.0.10
- CPU-Target: AMD64
Re: XP-Theme per Manifest?
Ok danke, hat sich erledigt.
Habe jetzt zwei Stunden mit Manifesten rumexperimentiert und festgestellt, dass meine Wunsch-Theme-Kombi mit Lazarus nicht funktioniert.
Ich wollte flache Buttons, die man in Delphi 7 kriegte, wenn man das XPManifest benutzte. Dazu bekam man XP-Theme-Farben.
Beides wollte ich nach dem Umstieg auf Lazarus beibehalten, weil in meinem Programm zahlreiche Forms betroffen sind, die ich ungern alle einzeln nachbearbeiten möchte.
Wenn ich mit Lazarus ohne Manifest kompiliere, sind die Farben für mich ok, aber die Buttons sind nicht flach, sondern noch im kantigen Windows95-Stil.
Aktiviere ich das Manifest, sind zwar alle Buttons schön flach, aber ich bekomme auch neue Theme-Farben, wodurch an vielen Stellen der nötige Kontrast fehlt, um mit meinem Programm arbeiten zu können.
Also muss ich nun zugunsten der alten Farben jetzt auf flache Buttons verzichten. Das lässt sich per Manifest leider nicht einzeln steuern.
Nun gut, dann ist es wohl für mich auch an der Zeit, meine Programm-Oberfläche neu zu gestalteten, so dass sie auch mit Manifest gescheit aussieht.
Habe jetzt zwei Stunden mit Manifesten rumexperimentiert und festgestellt, dass meine Wunsch-Theme-Kombi mit Lazarus nicht funktioniert.
Ich wollte flache Buttons, die man in Delphi 7 kriegte, wenn man das XPManifest benutzte. Dazu bekam man XP-Theme-Farben.
Beides wollte ich nach dem Umstieg auf Lazarus beibehalten, weil in meinem Programm zahlreiche Forms betroffen sind, die ich ungern alle einzeln nachbearbeiten möchte.
Wenn ich mit Lazarus ohne Manifest kompiliere, sind die Farben für mich ok, aber die Buttons sind nicht flach, sondern noch im kantigen Windows95-Stil.
Aktiviere ich das Manifest, sind zwar alle Buttons schön flach, aber ich bekomme auch neue Theme-Farben, wodurch an vielen Stellen der nötige Kontrast fehlt, um mit meinem Programm arbeiten zu können.
Also muss ich nun zugunsten der alten Farben jetzt auf flache Buttons verzichten. Das lässt sich per Manifest leider nicht einzeln steuern.
Nun gut, dann ist es wohl für mich auch an der Zeit, meine Programm-Oberfläche neu zu gestalteten, so dass sie auch mit Manifest gescheit aussieht.
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: XP-Theme per Manifest?
Und auf was für einem Windows arbeitest Du aktuell? Und sag jetzt nicht XP.
Auch wenn ich Deine Ambition verstehe - es ist prinzipiell keine gute Idee. Entweder die GUI dem OS überlassen - dann sieht es unter Win10 halt anders aus als unter XP, passt aber zum OS und dem "user feeling".
Oder halt costum drawing für die Gadgets, dann sieht es genauso aus wie Du willst. Ist halt sehr aufwendig. Und fliegt Dir spätestens um die Ohren, wenn jemand einen HighRes-Monitor hat und die Buttons winzigklein und die Schrift nicht lesbar ist (schon bei verschiedenen Programmen gesehen).
Übrigens kann man auch unter WinXP global klassische GUI einstellen - und dann sehen die XP-Buttons genau wie unter Win2000 aus, egal was man beim Compilieren einstellt.
Auch wenn ich Deine Ambition verstehe - es ist prinzipiell keine gute Idee. Entweder die GUI dem OS überlassen - dann sieht es unter Win10 halt anders aus als unter XP, passt aber zum OS und dem "user feeling".
Oder halt costum drawing für die Gadgets, dann sieht es genauso aus wie Du willst. Ist halt sehr aufwendig. Und fliegt Dir spätestens um die Ohren, wenn jemand einen HighRes-Monitor hat und die Buttons winzigklein und die Schrift nicht lesbar ist (schon bei verschiedenen Programmen gesehen).
Übrigens kann man auch unter WinXP global klassische GUI einstellen - und dann sehen die XP-Buttons genau wie unter Win2000 aus, egal was man beim Compilieren einstellt.
Re: XP-Theme per Manifest?
Ich hatte es bei zwei Projekten, dass die Anwendung bei eingeschaltetem Manifest beim Start crash-te
Nachdem ich das Manifest deaktiviert hatte und neu kompiliert, funktionierte alles wieder.
Also bei Entwicklungen für aktuelle WIN Systeme rate ich eher zum Abschalten.
Nachdem ich das Manifest deaktiviert hatte und neu kompiliert, funktionierte alles wieder.
Also bei Entwicklungen für aktuelle WIN Systeme rate ich eher zum Abschalten.
Gruß, Michael
- Aidex
- Beiträge: 60
- Registriert: Do 24. Sep 2020, 07:02
- OS, Lazarus, FPC: Win10 64bit, Laz v2.0.10
- CPU-Target: AMD64
Re: XP-Theme per Manifest?
Timm Thaler, du brauchst mich nicht zu überzeugen, denn ich würde das Manifest ja gerne verwenden.
Es handelt sich halt um ein konvertiertes Alt-Projekt, in dem ich ja bereits das Manifest verwendete!
Nur kam mit Delphi 7 dabei der XP-Style heraus - und das war damals schon die aktuellste Einstellung!
(im Gegensatz zur einzigen Alternative ohne Manifest = dem Win2000-Stil mit eckigen Buttons und noch älterem Farbschema).
Ich muss mir dann halt demnächst die Mühe machen, die ca. 100 Forms auf ihr Erscheinungsbild zu prüfen und ggf. anzupassen.
Das o.g. Problem von six1, dass die Anwendung mit Manifest crasht, habe ich zum Glück nicht.
-
- Beiträge: 830
- Registriert: Mi 3. Jun 2020, 07:18
- OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
- CPU-Target: Aarch64 bis Z80 ;)
- Wohnort: München
Re: XP-Theme per Manifest?
Was meinst du mit flachen Buttons? Hast du da nen Screenshot von? Die normalen Buttons waren nämlich auch mit XP-Theme nicht flach...
FPC Compiler Entwickler
Re: XP-Theme per Manifest?
Das sollte nicht passieren, und ist mir auch noch nie passiert. Es wäre jetzt interessant gewesen, wenn du nachgeforscht hättest, was genau den Absturz verursacht hat. Dann könnte man ihn beheben (sofern er überhaupt in der Theming-Engine liegt, und nicht in deiner Anwendung). Den pauschalen Ratschlag, Themes bei Entwicklungen für aktuelle Win-Systeme abzuschalten, halte ich für überzogen und irreführend.six1 hat geschrieben: ↑Di 12. Jan 2021, 06:40Ich hatte es bei zwei Projekten, dass die Anwendung bei eingeschaltetem Manifest beim Start crash-te
Nachdem ich das Manifest deaktiviert hatte und neu kompiliert, funktionierte alles wieder.
Also bei Entwicklungen für aktuelle WIN Systeme rate ich eher zum Abschalten.