none
如何重载WindowDialog的消息? RRS feed

  • 问题

  • 在MDI下,有一个函数ShowWindowsDialog,会弹出一个对话框,用来激活关闭的CChildFrame,或者重排CChildFrame中的窗口(平铺、水平、或垂直)。如何更改这个窗口的缺省行为?

    比如:

    列表窗中显示不仅是CChildFrame,还可以是CDockablePane。

    重载平铺、水平等按钮,自行设定排列方式。

    还是或者这个窗口不好用,需要自己重新构造个对话框?

    2016年11月17日 6:49

全部回复

  • Hi BruceLiu_sh,

    感谢在MSDN论坛发帖。

    >>列表窗中显示不仅是CChildFrame,还可以是CDockablePane。

    这个可以通过CMDIFrameWndEx::ShowPane实现。

    >>重载平铺、水平等按钮,自行设定排列方式。

    这个可以在CMDIFrameWndEx::OnShowMDITabContextMenu函数中,设置水平或者垂直排列。

    >>还是或者这个窗口不好用,需要自己重新构造个对话框?

    在我看来,如果你需要这些特殊功能的对话框,你需要创建自己的对话框,并在显示函数中,定义自己的实现方式。ShowWindowsDialog是用来创建CMFCWindowsManagerDialog,CMFCWindowsManagerDialog包含当前在应用程序中打开的MDI子窗口的列表。 用户可以使用此对话框手动控制MDI子窗口的状态。

    希望对你有所帮助。

    Best Regards,
    Sera Yu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已建议为答案 Angie Xu 2016年11月25日 6:08
    2016年11月21日 6:59
  • 找到这个对话框的类

    继承下来然后重新定义


    新浪微博http://weibo.com/xianglitian,欢迎围观

    2016年11月22日 3:17