掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TPaintBox上のKeyPlessイベントは拾えますか? (ID:7848)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
矢印キーはフォーカスを移動させるので Panel の WindowProc を入れ替えても 処理は難しいでしょう。 Application.OnMessage で横取りするとうまくいきます。 以下では Panel1 をクリックしてフォーカスをあて、そのとき矢印キーを押した ら、それを Panel1.Caption に表示します。Haldled を true にしてフォーカス の移動を防ぎます。 procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin if Msg.hwnd <> Panel1.Handle then exit; case Msg.message of WM_KEYDOWN: case Msg.wParam of VK_LEFT:begin Panel1.Caption := 'Left'; Handled := true; end; VK_RIGHT:begin Panel1.Caption := 'Right'; Handled := true; end; VK_UP:begin Panel1.Caption := 'Up'; Handled := true; end; VK_DOWN:begin Panel1.Caption := 'Down'; Handled := true; end; end; end; end; procedure TForm1.Panel1Click(Sender: TObject); begin Panel1.SetFocus; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.