我建了一个对话框程序,在主对话框上加入了一个子对话框,但是发现tab键只能在主对话框的其他控件之间切换,怎样才能使焦点移到子对话框上啊?

解决方案 »

  1.   

    CTRL+D 设置,那个对话框是嵌入的?
      

  2.   

    Use DS_CONTROL as a window style for the child dialogIf the you can not tab out from the child dialog, try overriding PreTranslateMessage in your child dialogs and call the parent 's PreTranslateMessage first, return TRUE if it does. Otherwise, return through CDialog::PreTranslateMessage. 
      

  3.   

    是嵌入的。
    ctrl+D是设置它的tab order啊,可现在按tab焦点根本就进不到在对话框上啊。
    我用了m_childDlg.ModifyStyle(0,WS_TABSTOP)后,焦点可以进来了,但只能在子对话框的第一个控件上,再按的话就移到主对话框上了。也就说只能在主对话框和子对话框的第一个控件之间切换。
      

  4.   

    是嵌入的。
    ctrl+D是设置它的tab order啊,可现在按tab焦点根本就进不到在对话框上啊。
    我用了m_childDlg.ModifyStyle(0,WS_TABSTOP)后,焦点可以进来了,但只能在子对话框的第一个控件上,再按的话就移到主对话框上了。也就说只能在主对话框和子对话框的第一个控件之间切换。
      

  5.   

    我的做法一般是在PreTranlateMessage里处理
      

  6.   

    搞定了。
    在属性里有一个control选项,把它设为true就行了。