我现在把一个对话框A作成tab的形式(属性:Border: None,Style: Child)将其嵌入到另一个对话框B中,用creat创建A,用MoveWindow定位,但现在我在对话框A中添加edit控件,但我在edit控件中敲入回车的时候,对话框A自动隐藏了!请问这个问题怎么解决?谢谢!

解决方案 »

  1.   

    取消,对话框中的ok,cancel默认按钮
      

  2.   

    常用的用法应该是用CPropertySheet,然后调用AddPage
      

  3.   

    虽然好象没有,但是添加的对话框里默认有IDOK,IDCANCEL,所以要取消掉
      

  4.   

    void C*Dialg::OnOk()
    {
      
    // return CDialog::OnOk();//注释掉;
    return;//ok;
    }
      

  5.   

    自己加两个按钮,设置为不可见属性,ID为IDCANCEL和IDOK,双击按钮添加响应函数,函数中直接return。
      

  6.   

    重载PreTranslateMessage()在其中加上
    if( pMsg->message == WM_KEYDOWN)
    {
    if(pMsg->wParam == VK_ESCAPE || pMsg->wParam == VK_RETURN)
    {
    return true;
    }
    }
      

  7.   

    你在对话框A中重载OnOK()这个函数,
    OnOK()
    {
        // TODO: Add extra validation here
        //CDialog::OnOK();    //注释掉这行, 这是关键!!!!
    }这样你在Edit里面按回车A窗口就不会消失了!!!
    我测试过了