Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Wallpaperausrichtung überprüfen/setzen (https://www.delphipraxis.net/67660-wallpaperausrichtung-ueberpruefen-setzen.html)

cruso 18. Apr 2006 10:10


Wallpaperausrichtung überprüfen/setzen
 
Hallo!

Ich müsste wissen, wie man die Ausrichtung des Desktophintergrundes (Zentriert, Gestreckt, Nebeneinander) programmgesteuert verändern kann bzw. überprüfen kann, was gerade vorliegt?
Danke schon mal im Vorraus!


MfG
Cruso

faux 18. Apr 2006 11:29

Re: Wallpaperausrichtung überprüfen/setzen
 
Hallo!

MSDN-Library durchsuchencenter stretch tile --> WALLPAPEROPT Structure

Grüße
Faux

cruso 18. Apr 2006 14:26

Re: Wallpaperausrichtung überprüfen/setzen
 
Ich hab das jetzt mal so übersetzt:

Delphi-Quellcode:
uses shlObj;
//...
procedure TForm1.Button1Click(Sender: TObject);
var dwStyle,dwSize:DWORD;
begin
if dwStyle=WPSTYLE_STRETCH then Label1.Caption:='TRUE' else Label1.Caption:='FALSE';
end;

end.
Ist natürlich falsch und er gibt immer 'FALSE' aus, auch wenn "Gestreckt" vorliegt. Wo ist der Fehler?

Khabarakh 18. Apr 2006 14:41

Re: Wallpaperausrichtung überprüfen/setzen
 
Erstens hast du den struct-Typ nicht übersetzt (wozu auch - ShlObj.TWallPaperOpt) und zweitens musst du ihn natürlich auch füllen.
IActiveDesktop.GetWallPaperOptions

cruso 18. Apr 2006 14:52

Re: Wallpaperausrichtung überprüfen/setzen
 
Zitat:

Zitat von Khabarakh
Erstens hast du den struct-Typ nicht übersetzt (wozu auch - ShlObj.TWallPaperOpt) und zweitens musst du ihn natürlich auch füllen.
IActiveDesktop.GetWallPaperOptions

Und wie sieht das dann aus? :oops:

freak4fun 18. Apr 2006 14:56

Re: Wallpaperausrichtung überprüfen/setzen
 
Delphi-Quellcode:
uses shlObj;
//...
procedure TForm1.Button1Click(Sender: TObject);
var dwStyle,dwSize:DWORD;
begin
if dwStyle=WPSTYLE_STRETCH then Label1.Caption:='TRUE' else Label1.Caption:='FALSE';
end;

end.
Delphi-Quellcode:
uses shlObj;
//...
procedure TForm1.Button1Click(Sender: TObject);
var dwStyle,dwSize:DWORD;
begin
 Label1.Caption:= BoolToStr(dwStyle=WPSTYLE_STRETCH, True);
end;

end.
;)

MfG
freak

cruso 18. Apr 2006 15:04

Re: Wallpaperausrichtung überprüfen/setzen
 
Zitat:

Zitat von freak4fun
Delphi-Quellcode:
uses shlObj;
//...
procedure TForm1.Button1Click(Sender: TObject);
var dwStyle,dwSize:DWORD;
begin
 Label1.Caption:= BoolToStr(dwStyle=WPSTYLE_STRETCH, True);
end;

end.

Nur das das auch nicht funktioniert. Es gibt genauso (fälschlicherweise) "FALSE" aus wie das was ich da "gebastelt" hab.

cruso 18. Apr 2006 17:17

Re: Wallpaperausrichtung überprüfen/setzen
 
Wie soll ich das (http://msdn.microsoft.com/library/de...llpaperopt.asp) denn nach Delphi portieren? Das ist doch für C++ oder? Ich steig da nicht durch oder ich steh auf'm Schlauch. :oops:

ste_ett 18. Apr 2006 17:27

Re: Wallpaperausrichtung überprüfen/setzen
 
Schon fertig. :)

Delphi-Quellcode:
uses ShlObj;

cruso 18. Apr 2006 17:35

Re: Wallpaperausrichtung überprüfen/setzen
 
Zitat:

Zitat von ste_ett
Schon fertig. :)

Delphi-Quellcode:
uses ShlObj;


ShlObj hatte ich aber bei meinen versuchen auch eingebunden, doch es hat trotzdem nicht funktioniert. Ich habe bei mir als Ausrichtung "Gestreckt" angegeben, doch trotzdem gibt er bei der Abfrage (WPSTYLE_STRETCH) "FALSE" aus. Wie kann das sein?


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