一个对话框中有很多的控件,请问如何获取上一次占有焦点的控件?

解决方案 »

  1.   

    没办法。
    给你个函数自己控制吧GetDlgItem(ID)->SetFocus()
      

  2.   

    用long pre_id;来保存上次焦点控件的id.
    用的时候:
    GetDlgItem(ID)->SetFocus()
      

  3.   

    一个控件的焦点顺序与tab键的顺序有关。你打开一个对话框时第一个焦点是tab键的第一个。当然这是默认情况。如果一定要控制那就象楼上的那么做啊。如果觉得不够强劲可以把代码写在pretranslatemessage函数中。这个函数截获消息的优先级好高啊
      

  4.   

    你说的是tab顺序,还是运行时人意顺序,如果是前者由函数获得,后者就要靠自己保存
      

  5.   

    CWnd *pWnd = GetFocus();