Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Bei betätigen der Eingabetaste Procedur ausführen
BigT - So 10.12.06 17:51
Titel: Bei betätigen der Eingabetaste Procedur ausführen
Hi,
ich habe schon wieder ein Problem:
Ich habe eine Textbox (Edit1) und einen Button (Button2). Jetzt will ich, dass wenn man in der Textbox etwas eingegeben hat und die Eingabetaste drückt, der Procedure Button2.Click ausgeführt wird.
Bis jetzt habe ich folgendes geschrieben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char;); begin
If key=VK_Return then begin Button2.Click; end; end; |
Es kommt die Fehlermeldung:
[Error] Unit1.pas(93): Undeclared identifier: 'Edit1KeyPress'
Was ist hier falsch?
Es gibt doch eine Form (Form1), Textbox und Button.
Vielen Dank im Voraus
Thorsten
Moderiert von
Christian S.: Delphi-Tags hinzugefügt
Leuchtturm - So 10.12.06 19:11
Ich denke das du vergessen hast die procedure zu deklarieren. Einfach im Objectmanager ereignisse dann KeyPress dann den Code rein und fertig
BigT - Mo 11.12.06 18:12
Ja das hatte ich auch noch nicht gemacht.
Jetzt habe ich einmal das da stehen:
Delphi-Quelltext
1: 2: 3:
| type procedure Edit1KeyUp(Sender: TObject; var Key: Word;Shift: TShiftState); procedure Edit2KeyUpPress(Sender: TObject; var Key: Word; Shift: TShiftState); |
Und vor dem der Procedure der ButtonsClick jeweils das stehen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Edit2KeyUpPress(Sender: TObject; var Key: Word;Shift: TShiftState); begin
If key=VK_Return then begin Button1.Click; end; end;
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;Shift: TShiftState); begin If key=VK_Return then begin Button2.Click; end; end; |
Trotzdem passiert nichts,wenn ich in der Textbox bin und Enter drücke!
Was ist hier noch falsch?
Gruß Thorsten
Moderiert von
raziel: Delphi-Tags hinzugefügt
Leuchtturm - Mo 11.12.06 18:16
Hat der BUtton überhaupt eine CLICK-PROCEDURE :?: Sonst kann er ja nichts machen
PS: Heiß das nicht KeyPress?? du hast KeyUpPress geschrieben :wink:
PPS:Benutze bitte die Delphi-Tags
BigT - Mo 11.12.06 21:56
Ja es gibt eine Button1Click Prozedur. Hatte es vorher aber auch mit einer einfachen Messagebox getestet, doch es passiert garnix!
Habe das jetzt mit in ButtonKeyPress geändert, aber funktioniert trotzdem nicht.
Wie funktioniert das mit den Delphi-Tags?
Gruß Thorsten
konbom - Mo 11.12.06 22:53
Hast du die KeyPress-Prozedur überhaupt im Objektinspektor unter Ereignsse eingetragen???
Danny W. - Di 12.12.06 13:15
probiers mal mit dem OnKeyDown
OnKeyPresss ist für den jeweiligen ASCII Code der zugehörigen Tasten zuständig.
BigT - Di 12.12.06 16:01
Vielen dank!
Ich habe jetzt einfach die eigenschaft default des buttons auf true gesetzt und es klappt ohne probleme!
Weiß leider auch nicht warum das mit dem KeyPress nicht geklappt hatte. Hatte mehrere Sachen ausrobiert.
Gruß Thorsten
Ferdy2003 - Do 04.01.07 00:24
Hallo zusammen,
ich denke so hätte es auch funktioniert:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Edit2KeyUpPress(Sender: TObject; var Key: Word;Shift: TShiftState); begin
If key=VK_Return then begin Button1.Click(Self); end; end;
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;Shift: TShiftState); begin If key=VK_Return then begin Button2.Click(Self); end; end; |
Gruss
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!