想写一个魔兽改键的, 当我在其它edit控件里面输入数字后, 如果是输入和其它edit控件里的数字重复就会跳出一个messagebox提示, 但是这时候光标总会自动跑到第一个edit控件里面去,请问怎么样设置才能让那messagebox关闭后光标还是在当前的edit控件里面?

解决方案 »

  1.   

    messagebox后,再 SetFocus(hEdit);
      

  2.   

    你的MessageBox在哪里弹出来的?编辑框的EN_CHANGE消息里吗?
      

  3.   

    1楼说的是对的 我自己这样用的m_hEdit.SetFocus()就行了
    但是有没有一种方法可以不用在里面添加这一行代码就可以实现
    因为如果多了就要在所有控件里面添加 有一点小麻烦 哈 哈 
      

  4.   

    这个问题我知道了 有两种方法
    第一种
    是按照一楼的添加一个控件变量m_edit,然后在再m_edit.SetFocus()
    第二种
    如果自己建的dialog是继承自CDialog就什么也不用做,他自己默认就是有上面一样的效果;如果是继承CDialogEx就要按照一说的做就可以(我用的VS2010默认是这个种继承)
    上面这几种方法我都在VS2010里面试过,其它版本的没试。