Autor |
Beitrag |
csigg
      
Beiträge: 706
WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
|
Verfasst: Di 12.07.05 14:06
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
      
Beiträge: 394
Erhaltene Danke: 8
Win XP
D5 Prof, C# Express 2005
|
Verfasst: 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 
      
Beiträge: 706
WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
|
Verfasst: Di 12.07.05 15:58
also ich habs jetzt so mal ausprobiert, funktioniert aber nicht wirklich.
|
|
Alstar
      
Beiträge: 827
|
Verfasst: 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 
      
Beiträge: 706
WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
|
Verfasst: 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
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Di 12.07.05 16:11
Am besten schicke uns mal dein Programm (als Beitragsanhang).
|
|
csigg 
      
Beiträge: 706
WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
|
Verfasst: 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
      
Beiträge: 827
|
Verfasst: 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 
      
Beiträge: 706
WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
|
Verfasst: 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
|
|