掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
キーボードからの入力を確認するには? (ID:13053)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
フォーカスを持つとは、アクティブになる(なれる)こと。 キーボード入力をキャッチできるコンポーネントがフォーム上にあると、 典型的にはTEdit, TMemo, 下記コードでは、Button1があると、 キー入力されても捕らえることができない。 そこで、Form1.KeyPreviewプロパティをtrueにして type TForm1 = class(TForm) Button1: TButton; procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Button1Click(Sender: TObject); private { Private 宣言 } flgS: Boolean; procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key = Word('S')) or (Key = Word('s')) then begin flgS := true; end; end; procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin i := 0; while i < $FFFFFFFF do begin i := i + 1; // いっときループを中断して、制御をWindowsに返す Application.ProcessMessages; if flgS then begin flgS := false; Showmessage('Break'); Break; end; end; Showmessage('End'); end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.