Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Transparentes Formular, sichtbare controls (https://www.delphipraxis.net/47827-transparentes-formular-sichtbare-controls.html)

jaschu 16. Jun 2005 19:49


Transparentes Formular, sichtbare controls
 
Hi!

Lange hab ich nach einem Codeschnipsel gesucht, der das Formular selbst unsichtbar macht, aber alle Controls (Images, Buttons, Labels...) sichtbar bleiben.

Nun hab ich einen gefunden, das Problem ist nur, dass oben ein Stück sichtbar bleibt.
Woran kann das liegen?
Hat jemand eine ähnliche Prozedur?

Danke schonmal!

Lamy


Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
 Var
   frmRegion, tempRegion: HRGN;
   i: Integer;
   Arect: TRect;
 Begin
   frmRegion := 0;
   For I:= 0 To ControlCount - 1 Do Begin
     // create a region for the control
     aRect := Controls[i].BoundsRect;
     // coordinates have to be window-relative, not client area relative
     OffsetRect( aRect, clientorigin.x - left, clientorigin.y - top );
     tempRegion := CreateRectRgnIndirect( aRect );
     // merge the region with the "summary" region we are building
     If frmRegion = 0 Then
       frmRegion := tempRegion
     Else Begin
       CombineRgn( frmRegion, frmRegion, tempRegion, RGN_OR );
       DeleteObject( tempRegion );
     End;
   End;
   // create a region for the caption and menu bar and add it to the
   // summary
   tempregion :=
     CreateRectRgn( 0, 0, Width,
                    GetSystemMetrics( SM_CYCAPTION )+
                    GetSystemMetrics( SM_CYSIZEFRAME )+
                    GetSystemMetrics( SM_CYMENU ));

   CombineRgn( frmRegion, frmRegion, tempRegion, RGN_OR );
   DeleteObject( tempRegion );
   SetWindowRgn( handle, frmRegion, true );

end;

jaschu 17. Jun 2005 19:39

Re: Transparentes Formular, sichtbare controls
 
Kann mir denn keiner helfen? :-(


Jaschu

100nF 17. Jun 2005 20:38

Re: Transparentes Formular, sichtbare controls
 
hi,


habe mal bei swissdelphicenter sowas gefunden.
schau dort mal nach

jaschu 18. Jun 2005 16:01

Re: Transparentes Formular, sichtbare controls
 
Nein, bei Swissdelphicenter gibt es nur Codeschnipsel die ALLEs durchtig machen - eben das soll NICHT der Fall sein

Daniel G 18. Jun 2005 16:22

Re: Transparentes Formular, sichtbare controls
 
Mal 'ne blöde Frage:

Welche Delphi - Version hast du? Bei Delphi 7 gibbet nämlich die Eigenschaft "TransparentColor". Die sollte dir helfen...

phlux 18. Jun 2005 16:30

Re: Transparentes Formular, sichtbare controls
 
Hallo :hi:
Vielleicht hilft dir auch folgender Link weiter:
http://www.hwb.com/gruhn/programming...ial/clear.html

Wichtig ist auch, das man bei solchen sachen den BorderStyle der Form auf bsNone setzt!

Mfg phlux :hi:

Schwitzus 18. Jun 2005 16:35

Re: Transparentes Formular, sichtbare controls
 
hi erstmal!
hab schon viel brauchbares gefunden in diesem forum hier, und muss erst mal dank und annerkennung aussprechen :thumb:

mach mal als viertletzten befehl
Delphi-Quellcode:
   tempregion :=
     CreateRectRgn( 0, 0, Width, 0);
weiß nicht ob das das is was du suchst, bei mir war dann nur der button sichtbar :stupid:
das mit der transparent-property is glaub ich so a gschicht, wenn man das formular transparent setzt, wird der button mit transparent auch wenn dieser transparenz von 0% hat

Daniel G 19. Jun 2005 01:10

Re: Transparentes Formular, sichtbare controls
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Schwitzus
das mit der transparent-property is glaub ich so a gschicht, wenn man das formular transparent setzt, wird der button mit transparent auch wenn dieser transparenz von 0% hat

Sicher?

Schwitzus 19. Jun 2005 01:35

Re: Transparentes Formular, sichtbare controls
 
stimmt sry, hatte das mit Alpha verwechselt, da werdn alle Komponenten auf dem Formular automatisch mit transparent

jaschu 20. Jun 2005 13:29

Re: Transparentes Formular, sichtbare controls
 
Liste der Anhänge anzeigen (Anzahl: 1)
Alles klar, so weit, so gut, danke!

Aber jetzt hab ich ein Problem mit Bildern (siehe Anhang)...

Für alle die zu faul sind es sich runterzuladen :zwinker: hier ne Beschreibung:
Der Rosa Rand bleibt um das Bild bestehen.

Kann man das umgehen?

Auf http://www.dsdt.info/jedi/jvcl/komponenten.php gibt es eine Beschreibung der Komponenten.
Darunter auch:

Zitat:

TJvTransForm
Ein weiterer Weg, ein transparentes Fenster zu erhalten (nur die Controls werden sichtbar sein). Achtung, wenn Sie die Größe von Komponenten verändern, müssen Sie diese Komponente deaktivern und dann neu aktivieren, um den Bereich des Fensters zu ändern.
So eine Komponente existiert bei mir aber nicht O_o (Ja, ich HABE JEDI installiert)

Danke schonmal für Antworten!


Lamy


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