MFC如何隐藏对话框?

Posted

技术标签:

【中文标题】MFC如何隐藏对话框?【英文标题】:How hide dialog MFC? 【发布时间】:2012-12-14 11:51:38 【问题描述】:

我需要创建对话框和按钮。当我单击带有箭头对话框隐藏的按钮时,它应该看起来像对话框移动到顶部并且在其他情况下为用户显示。 显示窗口(SW_HIDE)。我知道。我想从窗口中获取 CRect,对其进行更改,然后将其设置为 ScreeToClient()。 可能有人知道一些例子或其他方式? 谢谢

【问题讨论】:

看起来它移到了顶部,你的意思是像AnimateWindow,然后是ShowWindow(SW_HIDE),并且为了显示窗口而反转? 对不起,我不是来自英语国家 Yoiu 可以在 VS2012 Tools->Options->Environment(at left) 你看到列表,再次点击这个列表隐藏。我需要这样做这个但是有对话框))谢谢克里斯 你为什么使用 MFC?还有很多更好(好得多)的替代品,例如 Qt、qt-project.org。 我必须这样做。那是大学里的旧教育计划 @user763305 为什么他使用 MFC 在很大程度上与这里的问题无关,“更好”是一个相对术语。 【参考方案1】:

要隐藏或显示窗口,请按照您的指示使用 ShowWindow()。不需要矩形。

否则,请重新解释您的问题,我无法理解它。

【讨论】:

感谢发布您在 Visual Studio 工具->选项->环境中看到列表了吗?当您单击环境时,您会看到下拉列表,我的任务应该是这样的,但带有对话框。可能是这样的下拉对话框。【参考方案2】:

通常,如果您需要显示一个包含设置的对话框(类似于 Visual Studio 的“选项”对话框),那么您通常会这样做:

列表项。 创建一个 CDialog 派生类。 创建该类的实例。 对该对象调用 DoModal。这将显示对话框。 什么都不做。 DoModal 返回后,对话框已关闭。

【讨论】:

以上是关于MFC如何隐藏对话框?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MFC 中的对话框上阻止鼠标输入

MFC如何弹出新对话框的同时隐藏当前对话框并且关闭新对话框后出现之前对话框

在 DoModal 之后隐藏 MFC 对话框时,它的控件是不是被破坏?

隐藏基于对话框的MFC应用程序窗口的方法

在启动前隐藏一个MFC DoModal对话框

[转]隐藏基于对话框的MFC应用程序窗口的方法