【问题标题】:MFC: 'Gluing' two windows/dialogs togetherMFC:将两个窗口/对话框“粘合”在一起
【发布时间】:2010-04-14 13:18:55
【问题描述】:

我正在尝试设置一些东西,以便我的主对话框有一个或多个子对话框,并且这些子对话框粘/停靠在主对话框的 外部 - 当主对话框最小化时,孩子们也一样,当主对话框移动时,孩子们也会随之移动。

我尝试将子对话框设置为将主对话框 CWnd 作为父对话框,并使用 CHILD 样式。但是随后它们会被父级的边界剪裁。如果我将它们设置为 POPUP,它们可以在外面但不要与父母一起移动。

我正在考虑在父对话框上放置一个 OnMove 处理程序,但是有什么内置的吗?而且,子对话框是否仍应是主对话框的子对话框……我认为它们应该是?

这是VS2005(我认为VS2008有一些相关的功能所以我提一下)。

【问题讨论】:

  • 主窗口最大化时会发生什么?
  • 这是不允许的,它是一个固定大小的对话框:)

标签: mfc visual-c++-2005 sticky-windows


【解决方案1】:

当它们是弹出窗口时,您需要手动实现移动,是的,它们应该是弹出窗口,否则它们将被剪掉。

【讨论】:

    【解决方案2】:

    我是新来的。不确定我是否可以参考外部文章。 我猜this 就是你要找的。​​p>

    我开始写这门课是因为 我经常需要弹出额外的 围绕主要的对话。经常 这些对话框可能会给 用户;例如,他必须 一个一个地移动/关闭它们... A 可以给出的解决方案 应用更扎实的方面和 这可以使管理 各种窗口更容易,到 并排停靠所有对话框(例如 例如,Winamp 会这样做)。

    【讨论】:

    • 答案应该包含足够多的链接文章,以说明为什么它值得成为答案。如果要复制部分链接,可以使用“引用”功能。
    【解决方案3】:

    正如 Roel 所说,您的额外对话框需要是弹出窗口。我很感兴趣:这是什么用户界面?是 WinAmp 风格的,窗口彼此对齐吗?

    或者你正在做某种扩展对话框?如果它是一个扩展对话框(例如,上面有一个More>> 按钮),那么您可以将所有控件放在同一个对话框上,并在显示/隐藏附加内容时使用窗口矩形。

    【讨论】:

    • 有点像 WinAmp。我还不能确定它是否比让整个对话框随着部分折叠而扩大/缩小更好 - 两者都在测试中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多