Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi Fensterschatten (https://www.delphipraxis.net/131092-fensterschatten.html)

EWeiss 18. Mär 2009 19:51


Fensterschatten
 
Fensterschatten erstellen.. 1 Zeile code.

SetClassLong(Handle, GCL_STYLE, CS_DROPSHADOW)

Das ist alles

gruss Emil

alleinherrscher 18. Mär 2009 20:01

Re: Fensterschatten
 
Zitat:

Windows XP: Enables the drop shadow effect on a window. The effect is turned on and off through SPI_SETDROPSHADOW. Typically, this is enabled for small, short-lived windows such as menus to emphasize their Z order relationship to other windows.
Cool, Danke!

s.h.a.r.k 18. Mär 2009 20:22

Re: Fensterschatten
 
damit kann man aber nicht den mac-drop shadow nachbauen, oder?!

Assertor 18. Mär 2009 20:30

Re: Fensterschatten
 
Hi,

:thumb:

aber nicht vergessen: unter Windows 2000 schlägt die Funktion mit EOSError 87 fehl. Also aufpassen ;)

Ich überschreib CreateParams dafür in einem Basisform:
Delphi-Quellcode:
procedure TfrmDefaultForm.CreateParams(var Params: TCreateParams);
begin
  inherited;
   if (Win32IsMinXP and not Win32IsMinVista) or
     (Win32IsMinVista and not ThemeServices.ThemesEnabled) then
  begin
    Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW;
  end;
  ...
end;
Die Funktionen für die OS sind denke ich selbst herstellbar. Der Schatten wird für XP und Vista ohne aktivierte Themes eingeschaltet.

Gruß Assertor

Sunlight7 19. Mär 2009 08:45

Re: Fensterschatten
 
Zitat:

Zitat von Assertor
Der Schatten wird für XP und Vista ohne aktivierte Themes eingeschaltet.

Nop, zumindst in XP, SP2 ohne Themes nicht.

Assertor 19. Mär 2009 09:14

Re: Fensterschatten
 
Hi,

Zitat:

Zitat von Sunlight7
Zitat:

Zitat von Assertor
Der Schatten wird für XP und Vista ohne aktivierte Themes eingeschaltet.

Nop, zumindst in XP, SP2 ohne Themes nicht.

Ich weiß, Deine Beschreibung ist richtig gut - aber geht es trotzdem etwas genauer? :gruebel:

Ich schreib den Text mal um:
Zitat:

Zitat von Assertor
Der Schatten wird für XP und Vista ohne aktivierte Themes eingeschaltet.

soll bedeuten (Langform)
Zitat:

Zitat von Assertor
Der Schatten wird für XP aktiviert (und nach OS Vorgabe angezeigt). Ebenfalls wird der Schatten für Vista ohne eingeschaltete Themes aktiviert.

Gruß Assertor

Sunlight7 19. Mär 2009 09:56

Re: Fensterschatten
 
Zitat:

Zitat von Assertor
Ich weiß, Deine Beschreibung ist richtig gut - aber geht es trotzdem etwas genauer? :gruebel:

XP, SP2, Keine Themes, keine Schatten, keine Fehlermeldung, kein error Code :angel2:

Zitat:

Zitat von Assertor
soll bedeuten (Langform)
Der Schatten wird für XP aktiviert (und nach OS Vorgabe angezeigt). Ebenfalls wird der Schatten für Vista ohne eingeschaltete Themes aktiviert.

So ists besser :-D

Assertor 19. Mär 2009 09:58

Re: Fensterschatten
 
Hi,

Zitat:

Zitat von Sunlight7
Zitat:

Zitat von Assertor
Ich weiß, Deine Beschreibung ist richtig gut - aber geht es trotzdem etwas genauer? :gruebel:

XP, SP2, Keine Themes, keine Schatten, keine Fehlermeldung, kein error Code :angel2:
:lol:, ok.

Zitat:

Zitat von Assertor
soll bedeuten (Langform)
Der Schatten wird für XP aktiviert (und nach OS Vorgabe angezeigt). Ebenfalls wird der Schatten für Vista ohne eingeschaltete Themes aktiviert.

So ists besser :-D

Danke, dann haben wir uns jetzt verstanden :lol:

Zitat:

Zitat von fkerber
Sehe ich das soweit richtig, dass es keine Frage in diesem Thread gibt?
Falls ja, wäre er dann eigentlich in der Codelib besser aufgehoben - war das vielleicht die Ausgangsintention?

Meine Meinung: Ab damit!

Gruß Assertor

Sunlight7 19. Mär 2009 11:34

Re: Fensterschatten
 
Zitat:

Zitat von Assertor
Danke, dann haben wir uns jetzt verstanden :lol:

Japp

MfG, Sun


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