![]() |
Modales Fenster per Klick auf aufrufende Form schließen lassen
Hi,
ich möchte folgendes erreichen: Eine Methode ruft eine modale Form auf. Diese wird dann mittig über der aufrufenden Form dargestellt. Innerhalb dieser modalen Form hab ich ja genug Möglichkeiten diese zu schließen. Sie soll aber auch geschlossen werden, wenn der Benutzer auf die im Hintergrund liegende Form klickt (Nicht wenn er auf eine andere Anwendung oder den Desktop klickt, sondern nur die aufrufende Form). Wäre das möglich? Wenn ja wie? |
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
Dann wäre es ja keine modale Form ...
|
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
Auch wenn das, wie Markus schon sagt, dem Prinzip der modalen Form etwas zuwiderläuft, könntest Du die X- und Y-Werte des Mausklicks erfassen und feststellen ob sie
a) außerhalb der modalen Form b) aber innerhalb der X- und Y-Werte Deiner Hauptform liegen. Aber persönlich halte ich es für besser, eine modale Form durch eine Aktion innerhalb dieser Form zu schließen. Gruß Frank |
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
Vorschlag: Keine eigene Form verwenden, sondern ein Panel auf einem durchsichtigem Panel in Applikationsgröße plazieren. Klicks auf dieses Panel können problemlos erkannt und ausgewertet werden. Einzig das verschieben des "Fenstres" ist dann nicht mehr so ganz einfach....aber machbar.
Sherlock |
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
Zitat:
|
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
Die Idee mit dem Panel-Gefrickel erinnert mich an dubiose Software ala Registry-Cleaner und Konsorten im pseudo-professionellen Stil.
ich würde einfach ein nicht-modales Fenster anzeigen lassen, was aber OnTop ist. |
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
Gerade die Delphi VCL hatte damit über die Jahre (mindestens ab Delphi 2007) immer wieder Probleme. Die Fenster kamen nicht in den Vordergrund. Wenn die auch noch modal waren, war die Applikation für den unerfahrenen Anwender nicht mehr bedienbar. Auf Panel umzusteigen, bedeutet auch die maximale Kontrolle darüber zu haben, wann und wo dieses "Fenster" anzuzeigen ist. Das hat mit Gefrickel oder Pseudo-Professionell nichts zu tun.
Freilich habe ich die letzten Jahre nur noch FMX entwickelt, ich weiss also nichts über den aktuellen VCL-Stand. @Frickler: Wie gesagt, nutze ich FMX, da reicht es ein TRectangle mit Fill.Color = Null zu nehmen. Sherlock |
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
Zitat:
Aber es soll schon Modal sein, heißt der Benutzer soll während diese Form offen ist, nicht in der aufrufenden etwas ändern können. Es geht hier rein um den Komfort nicht zwingen das X oben rechts treffen zu müssen ;-) Ist auch nicht auf meinen Mist gewachsen, sondern ein Wunsch von einem Kunden, der das selbst einer seiner Anwendungen wohl so hat(Name ist mir nicht bekannt). Zitat:
Zitat:
Zitat:
Zur Zeit probiere ich gerade mit Application.OnMessage rum. Könnte auch funktionieren, allerdings wir die Message WM_LBUTTONDOWN nicht geschickt, wenn außerhalt der modalen Form (aber noch auf der Hintergrundform) geklickt wird. |
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
Zitat:
|
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
Hallo,
du könntest die 2. Form auch semimodal aufrufen, dann bleibt das 1. Form noch so bedienbar, wie du das willst. Was passiert aber, wenn der Nutzer auf einen Button in dem 1. Form klickt, soll dann der Button ausgelöst werden, oder das 2. Form geschlossen werden? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz