![]() |
Dialog (TForm) soll PopUp-Menu nachahmen
Hallo Leute !
Ich möchte ein erweitertes Rechtsklick-Menü implemetieren. Normalerwesie würde ich ein TPopUpMenu nehmen. Die gestalterischen Möglichkeiten die ich darin habe, reichen aber nicht aus. Jetzt verwende ich ein "normales" Formular und rufe es mit ShowModal auf. Das ganze funtkioniert gut (und bietet auch alle Möglichkeiten die ich brauche). Nur eine Funktionalität eines PopUp-Menüs habe ich bis jetzt nicht hingekriegt: ein Popup-Fenster wird automatisch geschlossen, wenn der User außerhalb klickt. Wie kann ich einem auf TForm basierenden Dialog beibringen, dass er geschlossen wird, wenn man ausserhalb klickt ?? Hat jemand eine Idee ? Gruß Andreas |
Re: Dialog (TForm) soll PopUp-Menu nachahmen
Wenn deine Form den Fokus verliert, kannst du sie wieder schließen.
Das müsste das Verhalten nachahmen. Gruß alias5000 |
Re: Dialog (TForm) soll PopUp-Menu nachahmen
Verliert ein modales Fenster den Fokus, wenn man in die dazugehörige Applikation klickt? Für mich sieht das eher nicht so aus... Aber probieren geht über studieren ;)
Sherlock |
Re: Dialog (TForm) soll PopUp-Menu nachahmen
Naja, eigentlich wärs ja garnicht mal nötig, das Fenster modal zu machen ;)
|
Re: Dialog (TForm) soll PopUp-Menu nachahmen
Erstmal Danke für euer Engagement.
Ich muß den Dialog aus verschiedensten Gründen schon modal machen. Der Rechtsklick ist u.U. in eine größere Ablaufsteuerung eingebunden. Wie kann ein modales Fenster den Fokus verlieren ? Wo kann ich denn überhaupt das Klick-Ereigniss abgreifen ? Es scheint so, dass weder das Hauptprogramm das Klick-Ereigniss bekommt, noch der Dialog, wenn man ausserhalb des Modalen Dialogs klickt. Kann man evtl dem Dialog bei CreateParams noch irgendwelche Parameter geben ? Oder gibt´s ´ne API Funktion mit der man ein Fenster als Popup startet? |
Re: Dialog (TForm) soll PopUp-Menu nachahmen
Hast du schon mal drüber nachgedacht, ein Frame zu nutzen anstatt eines Forms?
|
Re: Dialog (TForm) soll PopUp-Menu nachahmen
hm.. Frame statt TForm ?
OK, aber wie dann weiter ? Frame auf einem PopUp-Menu plazieren ? Geht das ? Wie ? |
Re: Dialog (TForm) soll PopUp-Menu nachahmen
Du kannst das Frame auf dem Form plazieren, und über die Visible Eigenschaft ein- und ausblenden. Beim Verschieben des Forms verschiebt sich somit das Frame automatisch mit. Und über Click Ereignisse des Forms kannst du so auch das Frame wieder ausblenden, wenn du möchtest.
|
Re: Dialog (TForm) soll PopUp-Menu nachahmen
Der Witz ist aber, dass mein erweitertes PopUp-Menü - sei es nun durch ein Form oder einen Frame realisiert -
modal angezeigt werden muss. Hat ein Frame überhaupt eine ShowModal-Routine? Wenn ja, dann denke ich läuft das message handling gleich wie beim Formular, oder ? Ich denke mit Frames kommt man da auch nicht weiter. Gruß Andreas |
Re: Dialog (TForm) soll PopUp-Menu nachahmen
IMO widerspricht es sich, ein Form modal anzuzeigen, aber bei einem Klick außerhalb wieder zu schließen. Der Sinn von ShowModal ist ja, dass ich den Rest des Programms in der Zeit nicht benutzen kann.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 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-2025 by Thomas Breitkreuz