![]() |
AW: Mehrere Tasten in einer Procedure abfragen?
für Tab ins OnShortCut des Forms hängen
Delphi-Quellcode:
procedure TForm2.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
var KeyCode: TShortCut; begin KeyCode := Menus.ShortCut(Msg.CharCode, KeyDataToShiftState(Msg.KeyData)); case KeyCode of VK_TAB: ShowMessage ('tab'); else Exit; end; Handled := True; end; |
AW: Mehrere Tasten in einer Procedure abfragen?
Ne schnellere Lösung wäre diese (TApplicationEvent aus der Registerkarte "Zusätzlich"):
Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean); begin if msg.message = WM_KEYDOWN then begin if msg.wParam = 9 then begin ShowMessage('Tab wurde gedrückt!'); end; end; end; |
AW: Mehrere Tasten in einer Procedure abfragen?
Ich hätte eher an sowas gedacht (Events sind allen betroffenen Edits per OI zugewiesen):
Delphi-Quellcode:
procedure TfrmTest.Edit1Exit(Sender: TObject);
var Edit: TEdit; dummy: integer; begin Edit := Sender as TEdit; if (Edit.Text <> '') then if not TryStrToInt(Edit.Text, dummy) then begin ShowMessage('Bitte nur Zahlen eintragen'); Edit.SetFocus; end; end; procedure TfrmTest.Edit1KeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then Perform(WM_NEXTDLGCTL, 0, 0); end; |
AW: Mehrere Tasten in einer Procedure abfragen?
OnKeyPress + KeyPreview = True
Delphi-Quellcode:
if key = #13 then
begin //Enter key: TEdit, oder auch mehr... if (ActiveControl.ClassType = TEdit) then begin Key := #0; Perform(WM_NEXTDLGCTL, 0, 0); end; end; |
AW: Mehrere Tasten in einer Procedure abfragen?
Danke für eure Hilfe.
Ich habe das ganze jetzt so gelöst.
Delphi-Quellcode:
Gruß
procedure TForm3.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if (Key=#13) then Edit2.SetFocus; end; procedure TForm3.Edit1Exit(Sender: TObject); begin try ol:=StrToFloat(Edit1.Text); except ShowMessage('Please enter only Numbers!'); Edit1.Clear; Edit1.SetFocus; end; end; Matthias |
AW: Mehrere Tasten in einer Procedure abfragen?
Du könntest auch gleich
![]() |
AW: Mehrere Tasten in einer Procedure abfragen?
Dem Detlef stimme ich vollkommen zu.
Beim Debuggen breitet soein sinnloser Try-Except-Missbrauch richtig viel Freude. :wall: Zitat:
aber nun darf ich alles neu eingeben, nur weil jemand so nett war alles zu löschen? |
AW: Mehrere Tasten in einer Procedure abfragen?
Sehe ich auch so, SelectAll statt Clear wäre evtl. benutzerfreundlicher.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 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-2025 by Thomas Breitkreuz