Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - ComboBox und Popup Klick nicht ausführen
patmann2001 - Di 26.11.02 14:35
Titel: ComboBox und Popup Klick nicht ausführen
Hallo
Ich habe eine Combobox und daran ein Popup Menü angeschlossen, wenn ich jetzt eine Zeile markiere und dann auf die rechte Maustaste drücke, dann soll vor dem "Aufpopen" überprüft ob eine Auswahl getroffen wurde, sprich ob ItemIndex > -1 ist, dann soll das Menü auch sichtbar werden, wenn aber kein Eintrag ausgewählt wurde, dann sende ich eine MessageDLG ab um den Benutzer darauf aufmerksam zu machen, das er einen Eintrag auswählen muss, trozdem wird jetzt das Menü sichtbar und das soll dann nicht passieren, wie unterbinde ich das jetzt?
cu Patmann
a.C.k - Di 26.11.02 15:16
Probiere mal etwas in der art...
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure Form1.ComboBox1ContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean); begin ComboBox1.PopupMenu := PopupMenu1; if ComboBox1.Text = '' then begin ShowMessage('blabla'); ComboBox1.PopupMenu := NIL; end; end; |
so könnte es klappen, glaube ich.
patmann2001 - Di 26.11.02 18:15
Äh nein, leider nicht :roll:
Das Menü wird dann trozdem Angezeigt, doch will man dann anschließend wieder das Menü aufrufen, dann erscheint es garnicht mehr.
Also ich bin jetzt hingegangen und setze alle Einträge im Menü auf Visible := false. Dann erscheint das Menü auch nicht, und bevor ich die Prüfung mache, ob ein Eintrag gewählt wurde, setzte ich alle Einträge im Menü auf Visible := true. So klappts sieht nur ein bisschen doof aus.
cu Patmann
Keldorn - Di 26.11.02 19:37
Hallo,
eine andere Variante wäre:
autopopup des Menus auf false zu stellen und das Menu selber nach der Abfrage mit popup(x,y) erscheinen zu lassen.
Dazu müßte man aber ein Mousedown-ereignis bei der Combobox abfragen können. Ich hab jetzt hier nur Delphi3 und da gibt klein onMousedown bei der Combobox :cry: .
Oder du setzt autopopup im onchange-ereignis erst auf true, wenn die von dir gewünschte Sache eintritt.
Mfg Frank
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!