AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

XP: Klassisches Design

Ein Thema von Mat · begonnen am 30. Mai 2003 · letzter Beitrag vom 1. Jun 2003
Antwort Antwort
Mat

Registriert seit: 27. Mai 2003
Ort: Hönow
104 Beiträge
 
Delphi 7 Professional
 
#1

XP: Klassisches Design

  Alt 30. Mai 2003, 22:02
Hi,


unter XP kann man ja einstellen, dass man das Aussehen so haben will, wie bei allen Vorgaenger-Versionen.

(Systemsteuerung->Anzeige->Designs->Windows -klassisch)

Kann ich in Delphi rauskriegen, ob diese Anzeige auf dem Rechner gerade aktiviert ist?



Danke

Mat
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2
  Alt 31. Mai 2003, 07:09
In der "uxtheme.dll" gibt es eine Funktion:
Delphi-Quellcode:
type
  TIsThemeActive = function: bool; stdcall;
var
  IsThemeActive : TIsThemeActive;
die man importieren kann. Ich empfehle dabei den dynamischen Weg, damit das Programm unter 9x/ME/NT/2000 nicht mit einer Fehlermeldung beendet wird. Es sei denn natürlich, das Programm soll nur unter XP laufen.

Da die Funktion true bzw. false zurückliefert, sollte es keine Fragen mehr geben.
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#3
  Alt 31. Mai 2003, 11:22
Is ja irgendwo logisch, dass es nur unter XP laufen soll. Für was soll er denn sonst wissen wollen, welches Design aktiviert is?
Aber mit dem Dynamischen Laden stimme ich dir zu. wer weiß, was passiert...
  Mit Zitat antworten Zitat
Mat

Registriert seit: 27. Mai 2003
Ort: Hönow
104 Beiträge
 
Delphi 7 Professional
 
#4
  Alt 31. Mai 2003, 14:33
danke, das probier ich mal aus..


uebrigens, das programm soll nicht nur unter XP laufen..




Mat
  Mit Zitat antworten Zitat
Mat

Registriert seit: 27. Mai 2003
Ort: Hönow
104 Beiträge
 
Delphi 7 Professional
 
#5
  Alt 1. Jun 2003, 16:40
supi, hat funktioniert.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
type
  TIsThemeActive = function: bool; stdcall;
var
  Handle :THandle;
  IsThemeActive : TIsThemeActive;
  result :string;

begin

  result := 'kein XP';

  Handle := LoadLibrary('uxtheme.dll');
  if Handle <> 0 then
    begin
      IsThemeActive := GetProcAddress(Handle, 'IsThemeActive');

      if IsThemeActive then
        result := 'neuer Stil'
      else
        result := 'alter Stil';

      FreeLibrary(Handle);
    end;



  ShowMessage(result);

end;
fuehrt auch auf allen anderen Systemen nicht zu nem Fehler

danke
Mat
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:07 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