Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - probekm mit OnKeyUp
csigg - Di 12.07.05 14:06
Titel: probekm mit OnKeyUp
ich hab folgenden Quellcode:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure Tfrm_Main.edtMitarbeiterSuchenKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Sender = edtMitarbeiterSuchen then begin if key = 13 then begin prc_Mitarbeiter_Suchen; edtMitarbeiterSuchen.Text:=''; end; end; if Sender = edtSpezialistSuchen then begin if key = 13 then begin tbSpezialistsuchen.Click; edtSpezialistsuchen.Text := ''; end; end; |
Wenn jetzt allerdings in dem TEdit edtmitarbeitersuchen nix eingegeben wurde, dann wird in prc_Mitarbeiter_Suchen ein MessageDlg gestartet mit der Meldung 'kein Name angegeben'. Diese Meldung muss mit klick auf OK bestätigt werden. Wenn ich allerdings jetzt ENTER drücke, was bei einem MessageDlg ja ohne Probleme funktioniert, dann wird sofort wieder die prc_mitarbeiter_suchen gestartet, weiss jemand woran das liegt, bzw. wie ich das unterbinden kann??
iKilledKenny - Di 12.07.05 15:41
versuchs mal mit
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure Tfrm_Main.edtMitarbeiterSuchenKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Sender = edtMitarbeiterSuchen then begin if key = 13 then begin key := #0; prc_Mitarbeiter_Suchen; edtMitarbeiterSuchen.Text:=''; end; end; if Sender = edtSpezialistSuchen then begin if key = 13 then begin key := #0; tbSpezialistsuchen.Click; edtSpezialistsuchen.Text := ''; end; end; |
ist ungetestet, müsste aber dein problem lösen.
viele grüße
alex
csigg - Di 12.07.05 15:58
also ich habs jetzt so mal ausprobiert, funktioniert aber nicht wirklich.
Alstar - Di 12.07.05 16:04
Hi!
Setze mal das "Key := #0" hinter die Prozedur, die die MessageBox aufruft! Dann sollte es klappen.
Alstar
csigg - Di 12.07.05 16:09
das geht nicht, weil da Key nicht definiert ist, und ich weiss nicht wie ich ihn da definieren kann
Heiko - Di 12.07.05 16:11
Am besten schicke uns mal dein Programm (als Beitragsanhang).
csigg - Di 12.07.05 16:14
das kann ich nicht, ich kann das programm weder schicken noch hochladen, aber ich schau dass ich es heut abend von daheim aus hochlade. Falls bis dahin noch niemand auf eine andere Idee gekommen ist. *g*
Alstar - Di 12.07.05 16:14
csigg hat folgendes geschrieben: |
das geht nicht, weil da Key nicht definiert ist, und ich weiss nicht wie ich ihn da definieren kann |
Nein! Nicht
in die betreffende Prozedur nach der MessageBox, sondern in deiner Prozedur
nach diesem ...
Delphi-Quelltext
1:
| prc_Mitarbeiter_Suchen; |
Alstar
csigg - Di 12.07.05 16:26
ich habs, war sehr einfach *g*
den ganzen Code von oben in OnKeyDown und das key=0 in OnKeyUp
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!