我想在按下tab键,让cedit的位置发生变化,
然后设为焦点,可是这不管用m_pEdit->SetFocus();
我在按tab键时,cedit在动,对话框上的几个按钮的焦点也发生变化。这怎么办?

解决方案 »

  1.   

    在pretranslatemessage中,拦截tab键,设置edit的位置,并返回TRUE,不要在keydown中做。
      

  2.   

    谢谢jennyvenus ,解决了,
    我疑问:为什么返回return CDialog::PreTranslateMessage(pMsg);这个就不行呢,返回的,也是布尔型啊,
    我的理解是,PreTranslateMessage(pMsg);为对话框函数,焦点自然就跟着到了对话框?
      

  3.   

    或许是因为你那样处理,他针对于每一个cedit
      

  4.   

    必须返回真,如果你反回return CDialog::PreTranslateMessage(pMsg); 相当于你什么也没做,又交给系统处理了。