如何在单文档中创建一个浮动的对话框?
我希望这个对话框可以停靠在右边。当然,也可以用鼠标来拖动它。
上面可以加一些按钮和文字,对话到单文档中的一些操作。可以吗?

解决方案 »

  1.   

    用CDialogBar就可以。
    先编辑一个对话框资源IDD_DIALOG1,再在框架类中定义一个CDialog m_dlgBar成员,然后在框架类的OnCreate函数中添加下列代码:
    EnableDocking(CBRS_ALIGN_ANY);
    m_dlgBar.Create(this, IDD_DIALOG1, WS_CHILD | WS_VISIBLE | CBRS_RIGHT, IDD_DIALOG1);
    m_dlgBar.EnableDocking(CBRS_ALIGN_RIGHT);
    DockControlBar(&m_dlgBar);
      

  2.   

    可以在启动的时候create一个无标题对话框,想实现什么就在对话框里面实现就行了。
    拖动:相应下LButtonDown OnMouseMove LButtonUp ,MoveWindow就行了。
    对话框的按钮处理程序向主窗口发送对应的消息。
      

  3.   

     cnzdgs 的回答我试一下,改动一点就可以用了,的确就是我想要的那个。非常感谢。
    不过 cnzdgs 有些地方说错了(也可能是我用的VC6的原因,不知道)
    我试了下只能加入IDD_DIALOGBAR资源,并且定义变量类型为CDialogBar 而不是CDialog才行。可能是版本问题吧,或者cn打错了,不知道。
    总之非常感谢cnzdgs!
      

  4.   

    是CDialogBar,手误。至于资源,只要是对话框资源就可以。
      

  5.   

    我在VC2010单文档工程中测试EnableDocking(CBRS_ALIGN_ANY);
     m_dlgBar.Create(this, IDD_DIALOG1, WS_CHILD | WS_VISIBLE | CBRS_RIGHT, IDD_DIALOG1);
     m_dlgBar.EnableDocking(CBRS_ALIGN_RIGHT);
    DockControlBar(&m_dlgBar);最后一句DockControlBar(&m_dlgBar);执行错误。不知为何?请高人指点
      

  6.   

    非常感谢楼主以及cnzdgs!!!!
      

  7.   

    非常感谢楼主以及cnzdgs!!!!