Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi XP Style für ein Form abschaltbar? (https://www.delphipraxis.net/42341-xp-style-fuer-ein-form-abschaltbar.html)

MaBuSE 17. Mär 2005 12:34


XP Style für ein Form abschaltbar?
 
Hallo,

ich habe ein Delphi 7 Programm, in das ich die XPManifest Komponente eingefügt habe.

Dadurch wird die Unit XPMan eingebunden, die die Resourcedatei WindowsXP.res einbindet.

Dadurch ist die Ganze Applikation im neuem WinXP Look.

Gibt es eine Möglichkeit nur ein TForm von dem WinXP Look auszuschließen?
(Alle Controls, Buttons, Panels, ... sollten das alte "nicht XP" Aussehen haben.)

Für eine Antwort bedanke ich mich schon mal im Voraus.

[edit]als offene Frage markiert[/edit]

Waldteufel 17. Mär 2005 12:37

Re: XP Style für ein Form abschaltbar?
 
Hallo.

Ich schätze, nein, denn der XP-Style wird in der Resourcen-Datei festgelegt. Und die gilt für das ganze Programm.

OT: Findest du den XP-Style so schlimm? :wink:

MaBuSE 17. Mär 2005 12:45

Re: XP Style für ein Form abschaltbar?
 
Zitat:

Zitat von Waldteufel
Ich schätze, nein, denn der XP-Style wird in der Resourcen-Datei festgelegt. Und die gilt für das ganze Programm.

Deswegen frage ich ja ;-)

Zitat:

Zitat von Waldteufel
OT: Findest du den XP-Style so schlimm? :wink:

Prinzipiell nein, aber unser AboutDialog, der auch der Splash Screen ist, hat ein von der Firma vorgegebenes Aussehen (Farben, Schriftgröße, ...) nur dieses TForm soll nicht XP gestylt werden.

Im schlimmsten Fall muss ich das Form als TBitmap ablegen und den Text auf das Canvas schreiben.
Das möchte ich aber nach Möglichkeit vermeiden.

ps: Herzlich Willkommen bei der DP :dp:

Waldteufel 17. Mär 2005 12:54

Re: XP Style für ein Form abschaltbar?
 
Zitat:

Zitat von MaBuSE
Im schlimmsten Fall muss ich das Form als TBitmap ablegen und den Text auf das Canvas schreiben. Das möchte ich aber nach Möglichkeit vermeiden.

Ich fürchte, es geht nicht anders. Entweder ganz oder garnicht.

MaBuSE 17. Mär 2005 12:56

Re: XP Style für ein Form abschaltbar?
 
Zitat:

Zitat von Waldteufel
Zitat:

Zitat von MaBuSE
Im schlimmsten Fall muss ich das Form als TBitmap ablegen und den Text auf das Canvas schreiben. Das möchte ich aber nach Möglichkeit vermeiden.

Ich fürchte, es geht nicht anders. Entweder ganz oder garnicht.

Vieleicht kennt ja ein Anderer die Lösung ;-)

Trotzdem Danke für die Antwort.

Bernhard Geyer 17. Mär 2005 12:56

Re: XP Style für ein Form abschaltbar?
 
Zitat:

Zitat von MaBuSE
Gibt es eine Möglichkeit nur ein TForm von dem WinXP Look auszuschließen?

AFAIK nicht bei den mitgelieferten Delphi-Komponenten.
Im ElPack kann für jedes Control das XPTheming Ein- bzw. Ausgeschaltet werden.

MaBuSE 17. Mär 2005 13:02

Re: XP Style für ein Form abschaltbar?
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von MaBuSE
Gibt es eine Möglichkeit nur ein TForm von dem WinXP Look auszuschließen?

AFAIK nicht bei den mitgelieferten Delphi-Komponenten.
Im ElPack kann für jedes Control das XPTheming Ein- bzw. Ausgeschaltet werden.

Gibt es irgendwo einen guten (deutschen) Text, in dem man nachlesen kann, wie das eigentlich genau funktioniert. Wie XP anhand der Resource die Controls stylen kann. Evtl kann ich mir ja da eine Idee holen, das auszuschalten.

Wurde zu dem Thema mal was im Entwickler geschrieben?

Lemmy1 17. Mär 2005 13:07

Re: XP Style für ein Form abschaltbar?
 
Deaktivieren von Styles ist relativ einfach. Jedoch muss man das pro Control tun:

Delphi-Quellcode:
SetWindowTheme(Button1.Handle, '', '');
SetWindowTheme ist deklariert in der Unit UxTheme (zumindest in D2005); also das in die Uses rein.

Natürlich kann man sich eine Schleife für alle Controls der Formulars schreiben in der Art:

Delphi-Quellcode:
for i := 0 to ControlCount-1 do begin
  if Controls[i] is TWinControl then begin
    SetWindowTheme((Controls[i] as TWinControl).Handle, '', '');
  end;
end;
Gruß
Lemmy

MaBuSE 17. Mär 2005 13:27

Re: XP Style für ein Form abschaltbar?
 
Zitat:

Zitat von Lemmy1
Deaktivieren von Styles ist relativ einfach. Jedoch muss man das pro Control tun.

Hey, das funktioniert ja :mrgreen:

Danke

ps: Frage als Beantwortet markiert.

Lemmy1 17. Mär 2005 13:38

Re: XP Style für ein Form abschaltbar?
 
Zitat:

Zitat von MaBuSE
Zitat:

Zitat von Lemmy1
Deaktivieren von Styles ist relativ einfach. Jedoch muss man das pro Control tun.

Hey, das funktioniert ja :mrgreen:

Danke

ps: Frage als Beantwortet markiert.

Keine Ursache aber noch einen Tip: Test die Anwendung auf mal unter Windows 2000 oder Win98, nicht dass dieser Code dort abschmiert. Habs zwar selbst noch nicht ausprobiert, jedoch sollte man testen können ob es den Stylemanager gibt indem man auf @SetWindowTheme<>nil testet, da diese Unit ihre Funktionen dynamisch lädt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 Uhr.
Seite 1 von 2  1 2      

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