Autor Beitrag
Glorfindel
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 16.12.05 17:15 
Tach Leute,

ist es irgendwie möglich unter einer Form eine art Schatten erscheinen zu lassen! Gibt es da nee Komponente oder einen Trick.

Wenn da einer was kennt, bitte melden.

Bis denn,

Glorfindel
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Fr 16.12.05 18:31 

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Danniolo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 693



BeitragVerfasst: Fr 16.12.05 18:50 
Ich glaube, er meinte eher so einen Schatten, wie z.B. bei Menüs und Hints (WinXP).
Das geht ganz einfach so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
protected
  procedure CreateParams(var Params: TCreateParams); override;

{...}

procedure TForm1.CreateParams(var Params: TCreateParams);
const
  CS_DROPSHADOW = $00020000;
begin
  inherited;
  Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW;
end;
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Do 29.12.05 16:00 
@Danniolo: Die Variante ist nicht gerade gut (ich hatte sie zuerst auch genommen). Sie funktioniert zwar, aber nur unter XP. Unter den anderen OSes lässt es sich das Projekt dann nicht mehr starten.

Die Variante hier ist besser:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
  published
    procedure SetShadow;

procedure TForm1.SetShadow;
  if SHADOW then
  begin
    SetClassLong(Form1.Handle, GCL_STYLE, GetClassLong(Form1.Handle, GCL_STYLE) or CS_DROPSHADOW);
  end
  else
  begin
    SetClassLong(Form1.Handle, GCL_STYLE, GetClassLong(Form1.Handle, GCL_STYLE) xor CS_DROPSHADOW);
  end;
  FormEinstellungen.RecreateWnd;
end;


//Edit: Aufrufen musst du die aber selber (und nat. Shadow auf den gewünschten Wert setzten ;) )
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 29.12.05 16:21 
Die Version von Dannilo sollte einfach nur erweitert werden, so dass manuell auf XP geprüft wird, was sich mit IIRC 2 Zeilen zusätzlich machen lässt (Platform abfragen und Versionsnummer >= 5 prüfen).

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Do 29.12.05 17:32 
Jupp, geht auch. Bei der Version die ich gepostet habe geht es auch so (ohne OS-Abfrage) ;)