在一个对话框a中,点击其上一个按钮隐藏本对话框a,然后弹出另一个对话框b;继续当点击对话框b上的一个按钮后,同样隐藏b对话框本身,重新显示a对话框,为什么此时显示的对话框a不可编辑(应该叫得不到焦点呢)?

解决方案 »

  1.   

    你先手动SetFocus将焦点设到A对话框,看此时对话框是否有效,确定一下是不是焦点的原因。
      

  2.   

    手动设置了SetFocus到a对话框,仍然是不可操作a对话框,就感觉碰到了一个没有处理的模式对话框那样,没有响应。
    再次求解!
      

  3.   

    这是我的代码:
    void CUnderDlg::OnLastbutton1() 
    {
    UpdateData();
    this->ShowWindow(SW_HIDE); 
    HWND hWnd;
    hWnd=::FindWindow(NULL, "基本信息录入");
    CWnd* pWnd=FromHandle(hWnd); 
    pWnd->ShowWindow(SW_SHOW);
    pWnd->SetFocus();
    }
    最后一行,是2楼推荐的办法,貌似没生效,呵呵
      

  4.   

    问题已经解决,加入一行代码:
    pWnd->EnableWindow(TRUE);
    后使用
    pWnd->SetFocus();
    但是,我不是很明白原因,能有高手给稍解释下吗?
    另外,大家是不是还有更好的办法呢?
    谢谢各位,O(∩_∩)O哈哈~
      

  5.   

    另外,pWnd->SetFocus();这个函数调用可以去掉,不影响的。
    我现在只是想知道为什么会导致这种显示之前隐藏的对话框窗口时会出项这种情况?
      

  6.   

    AfxGetMainWnd()->SetWindowPos(CWnd::FromHandle(HWND_TOPMOST),0,0,0,0,SWP_NOSIZE);