在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; } } |