TForm Transparent
-
Hi Pals,
ich möchte meinem TForm einen neuen Look verleihen: Transparent! (Vergleichbar mit typ. "See-Through-Displays"!)
Kann mir da jemand helfen?Danke im Voraus!
-
Siehe FAQ!
Wenn du den BCB6 hast, dann gibt's da die Eigenschaft AlphaBlend.
Hinweis: Transparenz wurde erst mit Win2k eingeführt!
-
TForm::AlphaBlend
Kann aber sein, daß es diese Eigenschaft erst ab einer bestimmten BCB Version gibt.Hups, zu langsam getippt
[ Dieser Beitrag wurde am 25.02.2003 um 13:01 Uhr von Peter editiert. ]
-
Schmeiss 'mal folgendes in OnResize der Form:
HRGN winrgn; //Windows- Region HRGN Rgn2; //Windows- Region int Res; int i; int FormBorder=4; //Fenster- Rahmenbreite ? //Erzeuge Region, so gross wie Form "Transparent" winrgn=CreateRectRgn(0,0,Transparent->Width,Transparent->Height); //Erzeuge Region, so gross wie Clientbereich Rgn2=CreateRectRgn(FormBorder,Height-ClientHeight-FormBorder, Width-FormBorder,Height-FormBorder); //Beide Regionen kombinieren (1. kriegt 'n Loch so gross wie 2. Region Res=CombineRgn(winrgn,winrgn,Rgn2,RGN_XOR); //zweite Region freigeben DeleteObject(Rgn2); Label1->Caption="Form transparent"; //Für jede Komponente in der Form for (i=0;i<Transparent->ControlCount;i++) { //Erzeuge Region, so gross wie die Komponente Rgn2=CreateRectRgn(Transparent->Controls[i]->Left+FormBorder, Transparent->Controls[i]->Top+Height-ClientHeight- FormBorder, Transparent->Controls[i]->Left+FormBorder+ Transparent->Controls[i]->Width, Transparent->Controls[i]->Top+Height-ClientHeight- FormBorder+Transparent->Controls[i]->Height); //mit 1. Region kombinieren (wird 'addiert) Res=CombineRgn(winrgn,winrgn,Rgn2,RGN_OR); //zweite Region jeweils freigeben DeleteObject(Rgn2); if (Res==ERROR) break; //bei Fehler abbrechen
Dann is' das Fenster hohl!!!. Da kann man durchgucken und durchgreifen!
Ist nicht komplett. Fehler gibts, wenn Formm Rollbalken hat ??? und wenn Rahmenbreite im System nicht 0 oder eins ist??? (Nur da passt FormBorder=4)
Mehr in WIN- API- Forum
!!!
[ Dieser Beitrag wurde am 25.02.2003 um 20:06 Uhr von DerAltenburger editiert. ]
-
semitransparente fenster auch unter win98 gehen mit der TGlassy und TStainedGlass - Komponente (delphi).
zu finden bei torry:
http://www.torry.net/effects.htmEdit:
Direktlinks zu fremden Dateien sind bäh![ Dieser Beitrag wurde am 26.02.2003 um 12:34 Uhr von Jansen editiert. ]
-
hey rico toller tip
-
hey toro, lange nix mehr gehört von dir... machstn so.. mail mir mal wie's so läuft bei dir...