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 In Klassisches Design wechseln. (https://www.delphipraxis.net/65128-klassisches-design-wechseln.html)

MiniKeks 12. Mär 2006 18:31


In Klassisches Design wechseln.
 
Wie kann ich mit einem Delphi code das Design des aktuellen PC's in das Klassische 2k Design wechseln? Hab mal irgendwo code gesehen.. aber finds nicht mehr .. :twisted: $

mfg.
MiniKeks

Ultimator 12. Mär 2006 18:35

Re: In Klassisches Design wechseln.
 
Ein Programm, das das macht würde auf meinem PC exakt einen Start überleben :roll:

PierreB 12. Mär 2006 18:37

Re: In Klassisches Design wechseln.
 
Zitat:

Zitat von Ultimator
Ein Programm, das das macht würde auf meinem PC exakt einen Start überleben :roll:

Was gibbet da zu rollen, er kanns doch auch optional in sein Programm einbauen und dem User die Wahl lassen. :roll:

MiniKeks 12. Mär 2006 18:38

Re: In Klassisches Design wechseln.
 
Es ist ein Programm für den Privatgebrauch. :wink:

Daniel 12. Mär 2006 18:56

Re: In Klassisches Design wechseln.
 
@Ulti: Ja, geht mir ähnlich - aber das war nicht die Frage. Minikeks wollte nicht wissen, ob wir selber sowas einsetzen würden, sondern wie es sich technisch relisieren läßt.

Ultimator 12. Mär 2006 19:29

Re: In Klassisches Design wechseln.
 
Um auch was produktives beizutragen hab ich mir mal die uxtheme.dll mit Luckies DLLExports angesehen. :mrgreen:
Dort gabs ne nette Funktion namens "EnableTheming". Die hab ich flott in mein Delphi gepackt (Unit uxtheme nicht vergessen), Parameter false probiert, das ganze ins OnClick von nem Button, Programm gestartet, Button geklickt und die Themes waren weg *g*
ALLERDINGS scheints andersrum nicht mehr zu klappen :lol:

//edit: Grund gefunden im PSDK:
Zitat:

fEnable
[in] BOOL that can receive one of the following values.
TRUE
Enables visual styles. If the user previously had an active visual style, it becomes active again.

Note As of Microsoft Windows XP Service Pack 2 (SP2), only clients with trusted computing base (TCB) privileges, where the client acts as part of the operating system, can load or change a global theme.
FALSE
Disables visual styles and turns visual styles off.
:-?

duff 17. Jul 2006 22:36

Re: In Klassisches Design wechseln.
 
Hallo,

wie binde ich die uxtheme.dll richtig ein???

ich komme irgendwie nicht richtig mit dem rückgabewert von EnableTheming zurecht!!!

gruß

Luckie 17. Jul 2006 23:32

Re: In Klassisches Design wechseln.
 
Zeig mal Code, damit wir eine Diskussionsgrundlage haben.

duff 18. Jul 2006 09:27

Re: In Klassisches Design wechseln.
 
hallo hier der code

Delphi-Quellcode:
procedure ThemeOnOFF;
const
  themelib = 'uxtheme.dll';
type
  TIsThemeOn = function(fEnable:Boolean):String; stdcall; //keine Ahnung was der für ein Rückgabewert hat
var
  IsThemeON: TIsThemeOn;
  huxtheme: THandle;
  ThemeON: Boolean;
  tmp:string;
begin
  ThemeON:= false;
  // >= XP
  if (Win32Platform = VER_PLATFORM_WIN32_NT) and
     (((Win32MajorVersion = 5) and (Win32MinorVersion >= 1)) or
      (Win32MajorVersion > 5)) then
  begin
    huxtheme := LoadLibrary(themelib);
    if huxtheme <> 0 then
    begin
      try
        @IsThemeOn := GetProcAddress(huxtheme, 'EnableTheming');
        if @IsThemeON <> nil then
           tmp:= TIsThemeOn(ThemeON);
      finally
       if huxtheme > 0 then
          FreeLibrary(huxtheme);
      end;
    end;
  end;
end;

xaromz 18. Jul 2006 09:43

Re: In Klassisches Design wechseln.
 
Hallo,

im MSDN findest Du die Deklaration:
Code:
HRESULT EnableTheming(BOOL fEnable);
In Delphi müsste das so aussehen:
Delphi-Quellcode:
function EnableTheming(FEnable: LongBool): HResult; stdcall;
Gruß
xaromz


Alle Zeitangaben in WEZ +1. Es ist jetzt 14: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