Entwickler-Ecke
Sonstiges (Delphi) - Form ein- und ausblenden
Mashalla - Di 05.01.10 01:26
Titel: Form ein- und ausblenden
Versuche mich aktuell etwas mehr an der GUI Programmierung und hänge gerade daran, eine ähnliche Funktionalität zu implementieren, wie sie jeder Media Player besitzt. Maus fährt an den unteren Bildschirmrand -> Kontrollleiste wird eingeblendet. Maus entfernt sich wieder -> Leiste verschwindet. Hört sich ja eigentlich nach OnMouseEnter und OnMouseLeave an dachte ich mir. 2 Formen gebastelt, die eine über die andere gelegt und probiert ... es geht leider nicht. Ich verstecke die darüberliegende Form entweder mit "Hide" oder "Visible := false", kann sie danach allerdings nicht mehr aktivieren. Ich schätze mal, dass OnMouseEnter nur anspringt, wenn die Komponente sichtbar ist oder ich komme gar nicht mehr an die versteckte Form ran, weil diese nun unter dem 1. Fenster liegt ... Nunja, ich hatte mir jetzt gedacht, dass ich einfach auf Form1 eine unsichtbare (Edit: Natürlich nicht unsichtbar ... ^^) Komponente lege (Panel oder sowas) und dort beim Einfahren Form2 anzeigen lasse. Das Verstecken der Form geht ja dann.
Wie macht man das eigentlich "richtig"? Wird doch bestimmt schon mal jemand hier implementiert haben :)
FinnO - Di 05.01.10 02:00
Wenn du einen Fading-Effekt haben möchtest, führt AFAIK kein Weg an Selbstzeichnen auf einer TPaintbox vorbei, wenn es nur ein Boolesches Sichtbar und nichtsichtbar sein soll, reicht im "MouseMove" der Form soetwas:
Delphi-Quelltext
1:
| Panel1.Visible := self.ClientHeight - Y <= Panel1.Height; |
ffgorcky - Mi 06.01.10 18:19
Also ich denke eher, dass das ganze über
OnMouseMove zu lösen sein müsste.
Wenn also dann
Delphi-Quelltext
1:
| FormWieAuchImmerDuSieNennst.Width=intNormalwert and x>FormWieAuchImmerDuSieNennst.Width |
ist, dann müsstest Du die Form vergrößern in etwa so:
Delphi-Quelltext
1:
| FormWieAuchImmerDuSieNennst.Width:=intGrosseWidth; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!