AGB  ·  Datenschutz  ·  Impressum  







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

XP Anzeigeeinstellungen

Ein Thema von hedie · begonnen am 14. Nov 2007 · letzter Beitrag vom 19. Nov 2007
Antwort Antwort
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#1

XP Anzeigeeinstellungen

  Alt 14. Nov 2007, 17:39
Hallo

Ich möchte ein programm schreiben, welches alle Funktionen die man hat wenn man auf dem Desktop rechte maustaste --> Eigenschaften macht hat.

Nun an der Registry darf ich nix verändern bzw kann dies nicht.

Habt ihr irgendwelche vorschläge oder tipps...

Das was benötigt wird ist, Desktop hintergrund und Darstellungs einstellungen alles andere
wäre nicht benötigt is aber super wenns auch geht


danke schonmal

liebe grüsse
Claudio
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: XP Anzeigeeinstellungen

  Alt 14. Nov 2007, 18:41
Hi,

das Hintergrundbild ändern
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#3

Re: XP Anzeigeeinstellungen

  Alt 14. Nov 2007, 18:44
Danke... Hat super geklappt...

Jetzt fehlt nur noch die Funktion für die Darstellung...

Wichtig is einfach das ich auf das XP Design wechseln kann und die Fenster Farbe auf Oliv grün umstellen kan etc...
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: XP Anzeigeeinstellungen

  Alt 14. Nov 2007, 18:56
Versuche mal SetSysColors
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#5

Re: XP Anzeigeeinstellungen

  Alt 14. Nov 2007, 18:58
nee ich denke das is für bestimmte Farben

Das ändert mir ja noch micht das wichtigste, nämlich vom Klassischen Design zum XP Design
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: XP Anzeigeeinstellungen

  Alt 19. Nov 2007, 00:34
Zitat von hedie:
Jetzt fehlt nur noch die Funktion für die Darstellung...

Wichtig is einfach das ich auf das XP Design wechseln kann und die Fenster Farbe auf Oliv grün umstellen kan etc...
Hallo,

habe jetzt doch noch was gefunden, und zwar mit Hilfe von angeblich undokumentierten Funktionen in der uxTheme.dll kann man die Darstellung ändern.
Bei meinem Beispiel wird kurz vom XP- Stil auf Windows klassisch umgeschaltet und dann wieder zurück. Auch die Farbe der Fenster und die Größe der Schrift könnte man ändern, wenn man diese vorher mit Funktionen wie EnumThemeColors und EnumThemeSizes auslesen würde.
Delphi-Quellcode:
uses
  uxtheme;

procedure Delay(msec: longint);
var
  start, stop: longint;
begin
  start := gettickcount;
  repeat
  stop := gettickcount;
  application.processmessages;
  until (stop - start ) >= msec;
end;
procedure TForm1.Button1Click(Sender: TObject);
type
  HTHEMEFILE= HWND;
var
  OpenThemeFile: function(pThemeFileName, pColorName, pSizeName: LPCWSTR; hThemeFile_: pCardinal ;unknown: DWORD): HRESULT; stdcall;
  ApplyTheme: function(hThemeFile_: HTHEMEFILE; unknown: Char; hWnd_: HWND): HRESULT; stdcall;
  CloseThemeFile: function(hThemeFile_: HTHEMEFILE): HRESULT; stdcall;

  hUxTheme: THandle;
  hThemeFile_: HTHEMEFILE;
  c: Char;
  pThemeFileName, pColor, pSize: PWideChar;
const
  Sec_ = 8;
begin
  hThemeFile_ := 0;
  GetMem(pThemeFileName, MAX_PATH + 1);
  GetMem(pColor, 61);
  GetMem(pSize, 61);
  hUxTheme := LoadLibrary('uxTheme.dll');
  if hUxTheme <> 0 then
  try
    if uxtheme.GetCurrentThemeName(pThemeFileName, MAX_PATH, pColor, 60, pSize, 60) = 0 then
    begin
      OpenThemeFile := GetProcAddress(hUxTheme, PChar(2));
      ApplyTheme := GetProcAddress(hUxTheme, PChar(4));
      CloseThemeFile := GetProcAddress(hUxTheme, PChar(3));
      if Assigned(OpenThemeFile) and Assigned(ApplyTheme) and Assigned(CloseThemeFile) then
        if OpenThemeFile(pThemeFileName, pColor, pSize, @hThemeFile_, 0)= 0 then
        begin
          if hThemeFile_ > 0 then
          begin
            if MessageDlg(Format('Soll jetzt der Stil der Fenster für %d sec auf "Windows - klassisch" gesetzt werden?', [Sec_]), mtConfirmation, [mbYes, mbNo], 0)= mrYes then
            begin
              ZeroMemory(@c, length(c));
              ApplyTheme(0, c, 0);//Windows - klassisch
              Delay(Sec_* 1000);

              if ApplyTheme(hThemeFile_, c, 0) <> 0 then//alten Stil wiederherstellen
                MessageDlg('Fehler beim setzen des neuen Fensterstils', mtError, [mbOk], 0);
            end;
            CloseThemeFile(hThemeFile_);
          end;
        end
        else
          MessageDlg(Format('Fehler beim öffnen der Datei "%s"', [WideCharToString(pThemeFileName)]), mtError, [mbOk], 0);
    end
    else
      MessageDlg('Fehler beim auslesen des aktuellen Themenamens oder die jetzige Einstellung ist "Windows - klassisch".', mtError, [mbOk], 0);
  finally
    FreeMem(pThemeFileName);
    FreeMem(pColor);
    FreeMem(pSize);
    FreeLibrary(hUxTheme);
  end;
end;
Getestet mit Windows XP SP1.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  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 14:15 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