Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Prism Windows-Forms-Anwendung im XP-Stil (https://www.delphipraxis.net/97106-windows-forms-anwendung-im-xp-stil.html)

stz 4. Aug 2007 21:17


Windows-Forms-Anwendung im XP-Stil
 
Moin zusammen,
kurz und knapp: Wie überzeuge ich die Komponenten in einer Windows-Forms-Anwendung davon, sich im XP-Stil darzustellen. (Ich hätte erwartet sie tun es von alleine, da ein Manifest automatisch mit einkompliliert wird, aber es klappt nicht von alleine...)

Gruß
Malte

PS: Delphi 2005 Personal

Elvis 4. Aug 2007 21:23

Re: Windows-Forms-Anwendung im XP-Stil
 
Du kannst die Styles so anschalten:
Delphi-Quellcode:
Application.EnableVisualStyles();
Und zwar vor allem anderen!
Da du Delphi.Net und somit immer noch .Net 1.1 benutzt, musst du direkt danach noch das hier ausführen, sonst gibt's ein paar Probleme mit der Darstellung (Bug in 1.1)
Delphi-Quellcode:
Application.DoEvents();
btw: Das hier ist dir schon bewusst, oder?

stz 6. Aug 2007 12:54

Re: Windows-Forms-Anwendung im XP-Stil
 
Liste der Anhänge anzeigen (Anzahl: 1)
naja, schon besser :?
Delphi-Quellcode:
[STAThread]
begin
  Application.EnableVisualStyles;
  Application.DoEvents;
  Application.Run(TWinForm.Create);
end.
Aber irgendwie haben CheckBox, RadioButton und Button nichts gemerkt (s. Anhang). Geht das noch besser?

Gruß
Malte

Elvis 6. Aug 2007 12:58

Re: Windows-Forms-Anwendung im XP-Stil
 
Du kannst noch den FlatStyle auf System setzen.
1.1 war in der Hinsicht mega-umständlich. Ich selbst habe damals händisch eine Manifest-Ressource in die Echse gepackt.
Eine DeineEchse.exe.manifest neben der Echse ist während des Debuggings sicherlich auch OK.

stz 6. Aug 2007 13:20

Re: Windows-Forms-Anwendung im XP-Stil
 
Zitat:

Zitat von Elvis
Du kannst noch den FlatStyle auf System setzen.
1.1 war in der Hinsicht mega-umständlich.

Ah, alles klar. So geht's. Danke :dp:

Gruß
Malte

Edit: Ne, doch noch nicht alles klar... Auch wenn ich das Manifest Manuell hinzufüge, muss ich noch den FlatStyle auf System setzen, damit das Manifest auch bei diesem Komponenten wirkt. Gibt es da ein besseres Manifest als meins?
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
    name="Woozle.PEResourceExplorer.XPManifest"
    processorArchitecture="x86"
    version="1.0.0.0"
    type="win32"/>
<description>Windows Shell</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="x86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>
</assembly>

Elvis 6. Aug 2007 14:06

Re: Windows-Forms-Anwendung im XP-Stil
 
Zitat:

Zitat von stz
Edit: Ne, doch noch nicht alles klar... Auch wenn ich das Manifest Manuell hinzufüge, muss ich noch den FlatStyle auf System setzen, damit das Manifest auch bei diesem Komponenten wirkt. Gibt es da ein besseres Manifest als meins?

Hmm... Ich dachte so hätte ich es damals gelöst. Vor allem der ListView war ziemlich zickig. Ist aber schon ewig her, momentan habe ich noch nichtmal die Runtime von 1.1 hier laufen um dagegen kompostieren zu können... :oops:
Probier mal ohne EnableVisualStyles aber mit dem .manifest (welches schon neben der Echse liegt, right? )

stz 6. Aug 2007 17:18

Re: Windows-Forms-Anwendung im XP-Stil
 
Zitat:

Zitat von Elvis
Probier mal ohne EnableVisualStyles aber mit dem .manifest (welches schon neben der Echse liegt, right? )

Genau das hab ich ja probiert.
ohne EnableVisualStyles und ohne FlatStyle=System und mit .manifest --> geht nur bei einigen Controls
mit EnableVisialStyle und ohne FlatStyle=System und ohne .manifest --> genau wie oben
ohne EnableVisiualStyles und mit FlatStyle=System und mit .manifest --> Perfekt
mit EnableVisiualStyles und mit FlatStyle=System und ohne .manifest --> auch Perfekt

...nun dachte ich, wenn ich ein besseres Manifest einbinde, als das, was ich irgendwo gefunden habe (s.o.) (ich habe keine Ahnung, was in dem Ding drinsteht und was da drinstehen müsste) könnte ich mir FlatStyle=System sparen.

Gruß
Malte


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz