有两个对话框,同时出现,我想让其中一个对话框实效,只能看不能操作
请问如何实现? 
谢谢了

解决方案 »

  1.   

    1.将要失效的窗口设为另一个的父窗口,然后另一窗口用模式显示
    2.直接用EnableWindows设要失效的窗口为FALSE
      

  2.   

    我要的结果是
    1.A对话框和B对话框同时存在
    2,只有A对话框结束后,比如在输入密码之后,才能对B对话框进行操作,否则只能对A对话框进行移动,虽然能看到B对话框但是不能操作而我用了楼上的建议后,只能达到先让A有效,但是在鼠标点击B对话框后,B也有效了不知道怎么做才行
    谢谢
      

  3.   

    把另一个对话框的控件全部EnableWindow(FALSE);
      

  4.   

    如果A是模式对话框,并且A的父窗口是B,不会这样的。
      

  5.   

    呵呵,我的水平还很菜,模式和非模式不怎么会区分,不过我想到了一种方法
    就是在父类的InitDialog 和OnCreate函数里创建子对话框,
           m_LoginDialog.create(IDD_LOGINDIALOG,this);
                  m_LoginDialog.ShowWindow(TRUE);
    重载父类对话框的PreTraslateMessage,在里面拦截WM_MOUSEDOWN,WM_MOUSEDBCLICK,WM_KEYDOWN消息
    当然高手会有很多更好的办法,谁有什么意见的都可以多多讨论下,呵呵