![]() |
PopUp-Menü einer Combobox "verschwinden" lassen
Ich habe folgendes Problem:
Ich habe eine Combobox und ein Editfeld. Wenn ich den Focus auf der Combobox habe und F3 drücke möchte ich in das Editfeld kommen (also Focus aufs Editfeld) und das Popup-Menü von der Combobox soll nicht ausgerollt sein. (also quasi zum hin- und herspringen) Wenn ich jedoch F3 drücke , so "rollt" der Inhalt der Combobox nach unten aus , und der Focus wird auf das Editfeld gesetzt... FRAGE : Wie kann ich das ausrollen verhindern?? Ps:Habe schon bei PopUpMenu.free geguckt und so weiter , aber bin da nicht weitergekommen... :| |
Combobox, Popupmenü, ausrollen? Redest du von der Liste der Combobox oder was?
Wenn die Combobox den Focus hat sthet der Cursor doch automatsich im Edit von der Combobox - oder nicht? |
Nein!
Es gibt 2 Komponenten in meinem Programm : Komponente 1 : edit_feld : TEdit; Komponente 2 : cb_box : TComboBox Nun habe ich den Focus auf der Combobox. Drücke F3 , (dann wird der Focus auf edit_feld gesetzt) . Und dann passiert folgendes : Die Liste der ComboBox rollt aus.... Das soll aber nicht so sein. Die ComboBox liste soll nicht ausrollen. Wie kann ich das Ändern? |
Wie setzt du denn den Focus auf das Edit?
Wenn ich das so mache:
Delphi-Quellcode:
Verhält es sich so, wie erwartet, es klappt nicht auf. Keine Ahnung, was du da machst.
procedure TForm1.CtlKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if Key = VK_F3 then SendMessage(Handle, WM_NEXTDLGCTL, 0, 0); end; |
Ahso.
Ja ich mache das nich über ein Handle , (damit kenne ich mich noch gar nich so mit aus) Ich hab das einfach über Edit1.SetFocus gesetzt... Aber wenns so funktioniert : Dankeschön ! |
Moin DBMan,
ich hab's eben mal so ausprobiert:
Delphi-Quellcode:
geht auch wie erwartet.
procedure TfrmMAIN.ComboBox1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin if Key = VK_F3 then Edit1.SetFocus; end; Bei Luckies Variante musst Du dafür sorge tragen, dass das Edit Feld auch das nächste in der Tabulatorreihenfolge ist. |
Hm nee , das muss noch an irgendwas anderem liegen... wirklich komisch.
Ich probier nochmal n bisschen rum , und wenn es dann nich klappen sollte kann ich das Prog ja mal posten. |
Das is ja krank!
Ich weiss woran es liegt... aber wie ich das löse weiss ich auch nich: Und zwar hab ich da F4 als taste genommen , und dann rollt der das tatsächlich auf... Muss wohl dran liegen das Windows F4 für das schliessen zusammen mit ALT +F4 reserviert hat oder sowas.... kannste mir da nochmal helfen?? |
Hast du irgendwas bei OnExit von der Combobox stehen?
|
Moin DBMan,
nein, das hängt damit zusammen, dass F4 in Windows das ausklappen der Liste einer ComboBox bewirkt (standard). Geh' doch mal in die AdressComboBox des Explorers und drücke F4. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 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