ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

Enter キーを Tab キーとしてエミュレート 

更新 : 2010/05/11

 



解説:
通常、Edit などでは文字を入力後、タブキーを押下すると次のコントロールに移動します。これでも使えますが、文字入力後、リターンキーを押してコントロールの移動ができれば、なお便利になります。
方法としては、リターンキーを押したら、タブキーを押したのと同じ動きになるようにコーディングすれば上手くいきそうです。
では、具体的にどのようにすれば記述すれば良いでしょう?

ここでは FindNextControl を使って対応してみます。

使用例:
以下の
例では、Enter キーを押下すると Edit1 から Button1 にフォーカスが移動します。

準備として、Edit, Button を適当に配置しておきます。

アプリケーションを起動して、Enter キーを押してください。
OnKeyPress イベントで FindNextControl メソッドが呼び出され、フォーカスが Button1 に移ります。FindNextControl  メソッドの第二引数に true を渡すと、タブ順で次のコントロールを見つけてくれます。

簡単な例でしたので、もう少しコントロールを増やして、フォーカスの移動を試しておいてください。

//-------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
    if (Key == '\r') 
        FindNextControl(Edit1, true, true, false)->SetFocus();
}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.