AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dialog (TForm) soll PopUp-Menu nachahmen

Ein Thema von Andreas Leix · begonnen am 1. Sep 2008 · letzter Beitrag vom 2. Sep 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Dialog (TForm) soll PopUp-Menu nachahmen

  Alt 1. Sep 2008, 20:20
Zitat von Andreas Leix:
Der Witz ist aber, dass mein erweitertes PopUp-Menü - sei es nun durch ein Form oder einen Frame realisiert -
modal angezeigt werden muss.
Wo ist denn da der Witz. Du blendest das Frame ein bzw. aus. Ins Frame kannst du legen was du willst. Analoges erreichst du wenn du deine Controls in ein Panel packst, nur dass ein Frame halt objektorientierter ist.


Zitat von Andreas Leix:
Hat ein Frame überhaupt eine ShowModal-Routine?
Das hab ich nie gesagt, sondern nur, dass du das Frame über die Visible Eigenschaft beliebig ein- und ausblenden kannst.
  Mit Zitat antworten Zitat
Andreas Leix

Registriert seit: 28. Apr 2008
31 Beiträge
 
#12

Re: Dialog (TForm) soll PopUp-Menu nachahmen

  Alt 2. Sep 2008, 08:27
Die Geschichte mit ein/ausblenden ist schon ok.
Ich will wie gesagt ein Popup-Menü simulieren, in dem anderere Items drin sind, als nur typische Menü-Punkte.
Bei einem PopUp-Menü ist es ja so, dass sobald es aufpoppt, man sonst nichts vom Programm bedienen kann,
ausser eben Punkte aus dem Popup-Menü anzuklicken. In diesem Sinne ist es ein modales Fenster und auch genau das
was ich brauche.
Eine Besonderheit hat ein Popup aber: Klickt man irgendwo ausserhalb, dann geht es zu.

Um zu erreichen, dass man während mein Pseudo-Popup sichtbar ist, nichts anderes im Programm
anklicken kann, zeige ich es mit ShowModal an. Damit erreiche ich genau das Gewünschte.

Jetzt fehlt mir nur diese eine Besonderheit eines Popups: Ausserhalb klick --> Popup geht zu.


Gruß Andreas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#13

Re: Dialog (TForm) soll PopUp-Menu nachahmen

  Alt 2. Sep 2008, 08:34
Und wenn Du auf WM_KILLFOCUS reagierst?

[edit] Geht aber nicht bei modalen Fenstern. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Dialog (TForm) soll PopUp-Menu nachahmen

  Alt 2. Sep 2008, 08:38
Wie bereits gesagt solltest du es schließen wenn dein Menü den Focus verliert. Dies passiert zum Beispiel wenn jemand ein anderes Programm auswählt etc.
Wenn du dich für ShowModal entscheidest hast du dich ja bewusst dafür entschieden das der Rest deiner Formulare nicht bedienbar ist, entsprechend können diese natürlich auch nicht den Focus bekommen.
Ich wüsste übrigens keinen Grund warum ein Popupmenü Modal angezeigt werden muss. Das ist auch nicht bei TPopupMenü so.

Ich finde deine Aussage widerspricht sich einfach ein wenig. Du willst das dein Menü zu geht wenn du eines deiner anderen Forms auswählst, willst aber nicht das man diese auswählen kann (deswegen nimmst du ja ShowModal)

In wie weit ein Frame hier helfen soll ist mir nicht klar. Ob ich nun die Dinge direkt auf dem Formular plaziere oder auf einem Frame welcher dann auf dem Formular plaziert hat den gleichen Effekt bezüglich Anzeige und Verhalten.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#15

Re: Dialog (TForm) soll PopUp-Menu nachahmen

  Alt 2. Sep 2008, 08:47
Zitat von Andreas Leix:
Bei einem PopUp-Menü ist es ja so, dass sobald es aufpoppt, man sonst nichts vom Programm bedienen kann,
ausser eben Punkte aus dem Popup-Menü anzuklicken.
Dieses Verhalten kann ich nicht nachvollziehen. Ein Programm bleibt immer normal bedienbar, auch wenn ein PopUp offen ist. Bei einem Klick auf ein anderes Control verschwindet das PopUp und das Control reagiert auf den Klick. Von daher sehe ich auch keine Notwendigkeit für ein modales Fenster.
Welche Anwendung verhält sich denn so wie von Dir beschrieben?
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#16

Re: Dialog (TForm) soll PopUp-Menu nachahmen

  Alt 2. Sep 2008, 08:48
Ich würde das einfach über den WindowsStyle 'WS_POPUP' regeln:
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#17

Re: Dialog (TForm) soll PopUp-Menu nachahmen

  Alt 2. Sep 2008, 08:49
Ich persönlich würde mich auch "bedanken", wenn ein PopupMenu modal wäre. Versehentlich die rechte Maustaste geklickt und man müsste einen Funktion des Menüs ausführen, auch wenn man das gar nicht will.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#18

Re: Dialog (TForm) soll PopUp-Menu nachahmen

  Alt 2. Sep 2008, 09:21
Zitat von Andreas Leix:
Bei einem PopUp-Menü ist es ja so, dass sobald es aufpoppt, man sonst nichts vom Programm bedienen kann, ausser eben Punkte aus dem Popup-Menü anzuklicken.
Das stimmt so nicht. Wenn ich ein normales Popup Menu geöffnet habe, und klicke dann z.B. auch eine Checkbox auf der Form, dann wird dieser Click schon registriert: Die Checkbox ist gesetzt, erhält den Fokus und das Popupmenu schliesst... daran ist nur wirklich nix modal.


Zitat von SirThornberry:
In wie weit ein Frame hier helfen soll ist mir nicht klar. Ob ich nun die Dinge direkt auf dem Formular plaziere oder auf einem Frame welcher dann auf dem Formular plaziert hat den gleichen Effekt bezüglich Anzeige und Verhalten.
Das stimmt. Ich nannte ja auch bereits noch ein Panel als Alternative, das ein- und ausgeblendet wird. Frames verhalten sich in dem Sinne ja gleich. Finde nur der objektorientierte Ansatz etwas besser, z.B. wenn das Menü an einer anderen Programmstelle auch eingeblendet werden soll. Ist aber Geschmackssache.
  Mit Zitat antworten Zitat
Benutzerbild von alias5000
alias5000

Registriert seit: 10. Sep 2005
Ort: Heilbronn
268 Beiträge
 
#19

Re: Dialog (TForm) soll PopUp-Menu nachahmen

  Alt 2. Sep 2008, 11:58
Zusammenfassung:
Fenster nicht modal machen und wenns den Fokus verliert, schließen. Oder?

Gruß
alias5000
Im Interesse der Purierung des germanischen Ideoms ist es opertum den immensen Usus peregrieder Verben auf ein Minimum zu reduzieren.
--> www.lanchat2.de <---
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:20 Uhr.
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