XP-Theme per Manifest?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Benutzeravatar
Aidex
Beiträge: 18
Registriert: Do 24. Sep 2020, 07:02
OS, Lazarus, FPC: Win10 64bit, Laz v2.0.10
CPU-Target: AMD64

XP-Theme per Manifest?

Beitrag von Aidex »

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. :D
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

sstvmaster
Beiträge: 414
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.0.12
CPU-Target: 32+64bit
Wohnort: Dresden

Re: XP-Theme per Manifest?

Beitrag von sstvmaster »

Rechtsklick auf exe -> Eigenschaften -> Kompatibilität -> Kompatibilitätsmodus -> Haken bei "Programm im Kompatibilitätsmodus ausführen für:" -> Windows XP SP auswählen?
Windows 10, Lazarus 2.0.12 + Lazarus Trunk
LG Maik

wp_xyz
Beiträge: 3513
Registriert: Fr 8. Apr 2011, 09:01

Re: XP-Theme per Manifest?

Beitrag von wp_xyz »

Aidex hat geschrieben:
Mo 11. Jan 2021, 20:11
Allerdings würde ich gerne speziell den XP-Theme auswählen/festlegen, weil ich mein altes Programm unter Delphi 7 darauf abgestimmt hatte.
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.

Benutzeravatar
Aidex
Beiträge: 18
Registriert: Do 24. Sep 2020, 07:02
OS, Lazarus, FPC: Win10 64bit, Laz v2.0.10
CPU-Target: AMD64

Re: XP-Theme per Manifest?

Beitrag von Aidex »

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. :)

Timm Thaler
Beiträge: 1171
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?

Beitrag von Timm Thaler »

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.

Benutzeravatar
six1
Beiträge: 300
Registriert: Do 1. Jul 2010, 19:01

Re: XP-Theme per Manifest?

Beitrag von six1 »

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.
Gruß, Michael

Benutzeravatar
Aidex
Beiträge: 18
Registriert: Do 24. Sep 2020, 07:02
OS, Lazarus, FPC: Win10 64bit, Laz v2.0.10
CPU-Target: AMD64

Re: XP-Theme per Manifest?

Beitrag von Aidex »

Timm Thaler hat geschrieben:
Di 12. Jan 2021, 04:03
es ist prinzipiell keine gute Idee.
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.

PascalDragon
Beiträge: 221
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?

Beitrag von PascalDragon »

Aidex hat geschrieben:
Di 12. Jan 2021, 02:57
Ich wollte flache Buttons, die man in Delphi 7 kriegte, wenn man das XPManifest benutzte. Dazu bekam man XP-Theme-Farben.
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

wp_xyz
Beiträge: 3513
Registriert: Fr 8. Apr 2011, 09:01

Re: XP-Theme per Manifest?

Beitrag von wp_xyz »

six1 hat geschrieben:
Di 12. Jan 2021, 06:40
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.
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.

Antworten