Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Form Transparent aber Komponenten sichtbar? (https://www.delphipraxis.net/62174-form-transparent-aber-komponenten-sichtbar.html)

robinWie 31. Jan 2006 19:36


Form Transparent aber Komponenten sichtbar?
 
Hi,
wie kann man das Bewerkstelligen das die Form unsichtbar ist und nur die Komponenten angezeigt werden? Ich kenne zwar diese möglichkeit
Delphi-Quellcode:
Form1.AlphaBlend := True;
Form1.AlphaBlendValue := 0
aber da habe ich das Problem das die Komponenten auch nicht angezeigt werden.

Danke im Voraus.
:cheers:

Der_Unwissende 31. Jan 2006 19:46

Re: Form Transparent aber Komponenten sichtbar?
 
Hi,
benutz eine Transparente Farbe, färbe das Form entsprechend und sorge dafür, dass die Komponenten eine andere Farbe haben. Hoffe das reicht dir.

Gruß Der Unwissende

City Light 31. Jan 2006 19:47

Re: Form Transparent aber Komponenten sichtbar?
 
Delphi-Quellcode:
{
Dieses Beispiel macht ein Fenster zur Laufzeit transparent.
Sichtbar bleiben die Titelleiste und alle visuellen
Komponenten auf dem Fomular. Soll das Fenster gleich schon
zu Beginn transparent sein, muß dieser Quelltext im
OnCreate-Ereignis des Formluars aufgerufen werden.
}

procedure TForm1.Button1Click(Sender: TObject);
var
FormRegion,TempRegion: hRgn;
I: Integer;
Rect: TRect;
begin
FormRegion := 0;
for I := 0 to ControlCount - 1 do begin
Rect := Controls[I].BoundsRect;
OffsetRect(Rect, ClientOrigin.X - Left, ClientOrigin.Y - Top);
TempRegion := CreateRectRgnIndirect(Rect);
if FormRegion = 0 then
FormRegion := TempRegion
else begin
CombineRgn(FormRegion, FormRegion, TempRegion, RGN_OR);
DeleteObject(TempRegion);
end;
end;
TempRegion := CreateRectRgn(0, 0, Width,
GetSystemMetrics(SM_CYCAPTION) +
GetSystemMetrics(SM_CYSIZEFRAME) +
GetSystemMetrics(SM_CYMENU) *
Ord(Menu <> NIL));
CombineRgn(FormRegion, FormRegion, TempRegion, RGN_OR);
DeleteObject(TempRegion);
SetWindowRgn(Handle, FormRegion, True);
end;

City Light 31. Jan 2006 19:55

Re: Form Transparent aber Komponenten sichtbar?
 
ups Hier hab ich ja noch etwas kleineres gefunden

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1.Brush.Style:=bsClear;
    Form1.BorderStyle:=bsNone;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Application.Terminate;
end;

robinWie 31. Jan 2006 20:01

Re: Form Transparent aber Komponenten sichtbar?
 
Bei FormCreate wird bei mir auch die Titelleiste dargestellt. Aber das finde ich nicht schlimm. Danke für eure Blitzantworten


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