我使用MFC做了个小程序,其中有个功能是这样的:
点击一个按钮之后,弹出一个新的对话框,新的对话框类似与QQ的聊天对话框,其中的一个功能是模式切换,也就是实现像QQ那样点击“消息模式”之后,窗口立刻变成一种样子,而重新点击之后,可又变回原来的样子,中间不会产生新的窗体,如何实现呢?
请高手指教

解决方案 »

  1.   

    DoModal对话框
    点切换模式后 更新对话框显示就是了 创建子窗口 控件 移位置什么的 用不着产生新窗体
      

  2.   

    用两个子对话框,用ShowWindow控制,只显示其中一个。
      

  3.   

    ShowWindow控制一些控件是否显示
    然后用MoveWindow调整窗口的大小
    或者用MoveWindow直接将打算隐藏的窗口的调整大小为0
      

  4.   

    http://www.vckbase.com/code/viewcode.asp?id=2901
      

  5.   

    ding  创建两个对话框表单
      

  6.   

    很简答啊 1. 从资源创建一个新对话框CMyDlg,在其上添加一个按钮 
    添加响应函数 
    void CMyDlg::OnButton1() 
    {
      
        AfxGetMainWnd()->ShowWindow(SW_SHOW);
        
      OnOK();
    }
    2. 在主对话框中添加一个按钮,其响应函数如下 
    void CDlgDlg::OnButton1() 
    {
        ShowWindow(SW_HIDE);
        
      dlg.DoModal();
    }
      

  7.   

    用CWnd pwnd = AfxGetMainWnd()获取主窗口,然后pwnd->SendMessage(****),或者pwnd->PostMessage(****)
      

  8.   

    还有就是 因为使用uishop的缘故,新产生出的窗口的两种不同形态 是两个不同的类