回 帖 发 新 帖 刷新版面

主题:窗口中存在多个EDIT控件,如何实现回车转换输入焦点?

窗口中存在多个EDIT控件,如何实现回车转换输入焦点?

回复列表 (共6个回复)

沙发

空白处点右键单击Tab Order,再进行设置!

板凳

按Enter时发送WM_NEXTDLGCTL消息
PostMessage(this->Handle, WM_NEXTDLGCTL, 0, 0);
倒数第二个参数为1时,方向相反。

3 楼

二楼的老大,有道理!谢了!

4 楼

我怎么无法评分,一评分就空白页????

5 楼

这个问题,我也百思不得其解,可能我哪里得罪站长了。。。

6 楼

int i,j;
    if(Key==13)//判断按下的键是否是回车键
    {
       j=1;
       for(i=0;i<Form1->ControlCount;i++)
       {
         TWinControl *Temp=dynamic_cast<TWinControl *>(Form1->Controls[i]);
         if(Temp)//先找到当前获得焦点的控件
          if(Temp->Focused())j=i+1;//获得下一个获得焦点的控件的tap
       }
      if(j==Form1->ControlCount)//判断是不是最后一个控件
         j=0;//是的话,就要返回第一个控件
      TWinControl *Temp=dynamic_cast<TWinControl *>(Form1->Controls[j]);
      Temp->SetFocus();//使下一个控件获得焦点
    }

我来回复

您尚未登录,请登录后再回复。点此登录或注册