« アカウントを取られてる? | トップページ | Windows Updateに失敗する »

2012-09-22

TButtonの矢印キーイベントを捕まえる

例えば、タブキーの他に矢印キーでも、アクティブコントロールを変更したいとして、グループボックスにあるボタンにフォーカスがあると、矢印キーを押すと同じグループボックス内の次のコントロールにフォーカスが移動してしまう。

TMessageEventをApplication->OnMessageに設定してやる。

typedef void __fastcall (__closure *TMessageEvent) (tagMSG& Msg, bool &handled);

void __fastcall TForm1::AppMessage (tagMSG& Msg, bool& handled)
{
ここでWM_KEYDOWNのメッセージを処理する。
メッセージをそのままにするならhandledはfalseに、再投入しないならtrueにする。
}


コンストラクタでクロージャを設定する。

__fasrcall TForm1::TForm1(TComponent* Owner)
{
Application->OnMessage = AppMessage;
}


これで!捕捉できる。

普通にKeyPreviewをtrueにして、OnKeyDownを書いてもうまく行かない。


|

« アカウントを取られてる? | トップページ | Windows Updateに失敗する »

CBuilder」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: TButtonの矢印キーイベントを捕まえる:

« アカウントを取られてる? | トップページ | Windows Updateに失敗する »