在Windows環境下,要使一個控件取得焦點,可在該控件上用鼠標單擊一下,或按Tab鍵將焦點移至該控件上。這種控制焦點切換的方法有時不符合用戶的習慣。用戶希望用Enter鍵,控制焦點由Edit1切換到Edit2。要實現這樣的功能需借助WinAPI函數SendMessage來完成。方法是:先設Form1的KeyPreview屬性為true,然後在Form1的OnKeyPress事件中加入如下的代碼。這樣,用戶就可以通過按Enter,鍵控制焦點按定義好的Taborder順序來移動了!
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
if(Key==VK_RETURN)
{
SendMessage(this->Handle,WM_NEXTDLGCTL,0,0);
Key=0;
}
}