Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Prism XPManifest (https://www.delphipraxis.net/26266-xpmanifest.html)

foRaver 21. Jul 2004 08:28


XPManifest
 
Einen schönen guten Morgen :)
In Delphi 7 gab es ein schönes Komponent, und zwar: XPManifest.
Leider gibt es in der 8 Version gar nicht mehr? Wie kann man den Komponent in 8 Version wiederherstellen
oder einfach nachmachen?
Danke im Voraus.

MfG, foRaver

Jens Schumann 21. Jul 2004 08:40

Re: XPManifest
 
Hallo,
Hier im Forum suchenEnableVisualStyles

foRaver 21. Jul 2004 10:04

Re: XPManifest
 
Ich hab' eine einfache Lösung gefunden:

Delphi-Quellcode:
{$R WindowsXP.res}
aber Danke auf jeden Fall :)

CalganX 21. Jul 2004 10:09

Re: XPManifest
 
Hi,
ähm... Wenn du .NET programmierst solltest du wirklich die Methode verwenden, die Jens dir gegeben hat. Außerdem ist das nicht mehr, als diese eine Resourcenzeile.
Wobei bei der Resource nicht alle Controls geändert werden, wie bei D6 z.B..

Chris

MathiasSimmack 21. Jul 2004 10:23

Re: XPManifest
 
Bei einigen muss man noch was einstellen, aber im Grunde werden alle (Win-)Controls geändert. ;)
Aber den Befehl gibt´s auch erst ab .NET-Framework 1.1. Wird zwar idR von Delphi 8 installiert, aber wer evtl. noch mit dem alten VS.NET 2002 rum macht, der wird den Befehl nicht finden.

foRaver 21. Jul 2004 11:29

Re: XPManifest
 
Da habt ihr komplett Recht.
Delphi-Quellcode:
{$R WindowsXP.res}
funkzioniert nur mit einer VCL-Application.
Aber der Code
Delphi-Quellcode:
{%DelphiDotNetAssemblyCompiler '$(SystemRoot)\microsoft.net\framework\v1.1.4322\System.dll'}
lässt den Interface nicht ändern. Was hab' ich falsch gemacht?

MathiasSimmack 21. Jul 2004 12:23

Re: XPManifest
 
Was wolltest du erreichen? Der Eintrag, auf den du dich beziehst, wird doch IMHO von Delphi automatisch angelegt. Also lass die Finger davon. Ich habe eben mal ein .NET-Sample hervor gekramt, da steht in meinem Projektquelltext (*.dpr) folgendes:
Delphi-Quellcode:
[STAThread]
begin

// -->

  Application.EnableVisualStyles;
  Application.DoEvents;

// <--

  Application.Run(TWinForm.Create);
end.
Mehr war nicht notwendig. Bei den Buttons musst du im Objektinspektor noch die Eigenschaft "FlatStyle" auf "System" einstellen. Es könnte sein, dass du das auch noch für ein paar andere Controls machen musst (kann ich dir nicht sagen, weil es schon ´ne Weile her ist, dass ich mit D8 gearbeitet habe). Aber grundsätzlich ist die Sache XP-Stil mit den o.g. zwei zusätzlichen Zeilen erledigt.

foRaver 21. Jul 2004 12:49

Re: XPManifest
 
Danke vielmals :)
Jetzt klappts auch in WindowsForm - Application.

MfG, foRaver

Robert_G 21. Jul 2004 13:51

Re: XPManifest
 
Zitat:

Zitat von MathiasSimmack
Delphi-Quellcode:
// -->

  Application.EnableVisualStyles;
  //Application.DoEvents;

// <--

  Application.Run(TWinForm.Create);
end.

Das DoEvents ist IMHO nicht nötig, da du die Styles vor dem Erzeugen des ersten Forms machst.
Das mit den Buttons ist nervig (ist aber in jeder .Net IDE gleich nervig), in D8 übersieht man es schnell, da D8 die Controls im Designer NICHT im XP-Style anzeigt. :(

Zitat:

Zitat von MathiasSimmack
schon ´ne Weile her ist, dass ich mit D8 gearbeitet habe

Glückspilz! :cry:

bigg 21. Jul 2004 14:08

Re: XPManifest
 
hi,

erstell eine Datei mit dem Dateinamen deines Programms plus der Dateierweiterung *.manifest.
Speichere Sie in deinem Programmordner.

Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0" processorArchitecture="X86" name="name" type="win32"/>
<description></description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
</assembly>

Luckie 21. Jul 2004 14:15

Re: XPManifest
 
@bigg: Dir ist klar, dass es hie rum eine .NET Anwendung geht? Ist deine Lösung auch für .NET Anwendungen getestet? Das was du machst kenne ich nur für native Win32 Anwendungen. Desweitern wurde das Problem wohl schon wesentlich eleganter und einfacherer gelöst. ;)

mirage228 21. Jul 2004 14:22

Re: XPManifest
 
Anzumerken wäre, dass einige .NET Controls (wie z.B. die Seiten eines Page-Controls :roll: ) den XP-Stil nicht korrekt annehmen...

mfG
mirage228

bigg 21. Jul 2004 14:35

Re: XPManifest
 
hi,

@Luckie:
dann schau dir mal die WindowsXP.res an :wink:

MathiasSimmack 21. Jul 2004 14:41

Re: XPManifest
 
Zitat:

Zitat von Robert_G
Das DoEvents ist IMHO nicht nötig, da du die Styles vor dem Erzeugen des ersten Forms machst.

Das mag sein. Ich hab´s aber damals immer mit eingetragen, weil ich mal Probleme mit der Toolbar hatte. Da gibt´s auch einen Beitrag hier in der DP. Aber ich denke, du hast Recht: "EnableVisualStyles" sollte schon genügen.

Zitat:

Zitat von bigg
dann schau dir mal die WindowsXP.res an

Ich fürchte, du hast Luckies Einwand nicht verstanden. Bei einem .NET-Programm ist das Manifest nicht erforderlich. Es geht nachweislich auch ohne, indem du einfach nur das o.g. Kommando verwendest. Noch mal: Hier geht es um .NET, nicht um VCL/API-Programme.

bigg 21. Jul 2004 15:31

Re: XPManifest
 
hi,

Zitat:

Ich fürchte, du hast Luckies Einwand nicht verstanden. Bei einem .NET-Programm ist das Manifest nicht erforderlich. Es geht nachweislich auch ohne, indem du einfach nur das o.g. Kommando verwendest. Noch mal: Hier geht es um .NET, nicht um VCL/API-Programme.
Ja scheinbar wollt ihr mich nicht verstehen. Windows intressierts einen Sch****d**** ob, die Anwendung nun in Assembler, Visual.NET , Delphi 7 VCL oder in Delphi 8 .NET geschreiben wurde.

Auch .Net-Anwendungen unterstützen meine Methode!

Luckie 21. Jul 2004 15:34

Re: XPManifest
 
Zitat:

Zitat von bigg
Auch .Net-Anwendungen unterstützen meine Methode!

Und genau das wollte ich doch nur wissen, ob du es genau weißt, weil ich diese Methode nur für native Win32 Anwendungen kannte.

Und bitte mäßige deine Ausdrucksweise etwas. Solche Kraftausdrücke sind in der Regel überflüssig und auch hier nicht gerne gesehen. :warn:

bigg 21. Jul 2004 15:38

Re: XPManifest
 
geht in ordnung. :thuimb:

RuX 10. Sep 2004 14:59

Re: XPManifest
 
muss grad mal thread aufwärmen sorry:
bei meiner winforms .net anwendung funktioniert das ganze leider nicht ganz.
EnableVisualStyles schaltet irgendwie nicht alle komponenten auf xp-style sondern nur einige.
comboboxen, menü sind zb richtig, dagegen sind checkboxen, buttons noch normal :gruebel:
sind wirklich ausschließlich winforms komponenten
delphi8, update2
was is hier zu tun?

MaBuSE 10. Sep 2004 15:08

Re: XPManifest
 
Zitat:

Zitat von RuX
muss grad mal thread aufwärmen sorry:
bei meiner winforms .net anwendung funktioniert das ganze leider nicht ganz.
EnableVisualStyles schaltet irgendwie nicht alle komponenten auf xp-style sondern nur einige.
comboboxen, menü sind zb richtig, dagegen sind checkboxen, buttons noch normal :gruebel:
sind wirklich ausschließlich winforms komponenten
delphi8, update2
was is hier zu tun?

Die Antwort steht schon weiter oben!

Zitat:

Zitat von MathiasSimmack
Bei den Buttons musst du im Objektinspektor noch die Eigenschaft "FlatStyle" auf "System" einstellen. Es könnte sein, dass du das auch noch für ein paar andere Controls machen musst (kann ich dir nicht sagen, weil es schon ´ne Weile her ist, dass ich mit D8 gearbeitet habe). Aber grundsätzlich ist die Sache XP-Stil mit den o.g. zwei zusätzlichen Zeilen erledigt.

[edit] Anmerkung, falls jemand auf Delphi schimpfen sollte ;-) auch von oben:
Zitat:

Zitat von Robert_G
Das mit den Buttons ist nervig (ist aber in jeder .Net IDE gleich nervig), in D8 übersieht man es schnell, da D8 die Controls im Designer NICHT im XP-Style anzeigt. :(

[/edit]

Luckie 25. Feb 2006 13:09

Re: XPManifest
 
Bei mir will das mit SharpDevelop irgendwie nicht so recht funktiuonieren:
Code:
      [STAThread]
      public static void Main(string[] args)
      {
         Application.EnableVisualStyles();
         Application.DoEvents();
         Application.Run(new MainForm());
      }

MathiasSimmack 25. Feb 2006 13:52

Re: XPManifest
 
Was denn genau, Luckie? :gruebel: Fehlermeldung? Oder kein XP-Stil?

Luckie 25. Feb 2006 14:08

Re: XPManifest
 
Jupp, keine Fehlermeldung (Es haben übrigens die Klammern gefehlt. ;) ) aber auch kein XP Stil.

MathiasSimmack 25. Feb 2006 14:21

Re: XPManifest
 
Klappt bei mir. Selbst ohne das Manifest, das von SharpDevelop 1.x noch angelegt wird. Du hast daran gedacht, speziell Buttons noch den Stil (FlatStyle -> System) zuzuweisen? Dann siehst du nämlich auch gleich im Formsdesigner den XP-Look.

Luckie 25. Feb 2006 14:34

Re: XPManifest
 
Ächtz. das war es. Wrer denkt denn schon daran. An der Arbeit habe ich das VS und das iust schon um Längen besser als das SharpDevelop. Nicht nur, dass da die Hilfe geht, auch die Codevervollständigung ist besser. Unter SharpDevelop funktioniert sie ja nur, wenn man auch selber schon die Groß- und Kleinschreibung beachtet. ;)

MathiasSimmack 25. Feb 2006 15:03

Re: XPManifest
 
Zitat:

Zitat von Luckie
Ächtz. das war es.

Ähem, nicht dass es nicht mehrfach in diesem Beitrag erwähnt worden wäre... :mrgreen:

Die Kritik von SharpDevelop ... na ja. :) Klar gibt es noch Kinderkrankheiten, aber für ein OpenSource-Projekt ist es schon sehr beeindruckend. Außerdem ist es spannend zu sehen, wie sich das Ganze entwickelt. Jemand hat für mein Help-Addin eine Ergänzung geschrieben, mit der dann auch endlich der Sprachfilter in den HTML-Seiten beachtet und gespeichert wird. :thumb: Und ich möchte nicht wissen, wie die ersten Versionen von Microsofts Visual Studio ausgesehen und funktioniert haben. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 Uhr.

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