首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将窗口取消最小化到精确的前一状态(恢复或最大化)?

如何将窗口取消最小化到精确的前一状态(恢复或最大化)?
EN

Stack Overflow用户
提问于 2009-08-31 09:28:09
回答 2查看 228关注 0票数 0

在Windows中,我有一个最小化的窗口,即前景窗口(GetForegroundWindow)。我现在想要取消最小化窗口,以便它再次可见。如何将窗口恢复到以前的状态?也就是说,如果窗口在最小化之前被“恢复”,那么它应该被恢复,如果它在被最小化之前被最大化,它应该再次被最大化,特别是不被恢复之类的。

似乎我只能从{最小化,还原,最大化}中确定窗口的当前状态,但理论上,最小化和最大化应该是可以一起设置的标志。

Explorer任务栏如何知道在用户单击窗口时以何种状态显示该窗口?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-31 09:36:32

如果你使用像C这样的东西,你可以看看ShowWindow函数:

代码语言:javascript
复制
ShowWindow(hWnd, SW_RESTORE)

SW_RESTORE

激活并显示窗口。如果窗口被最小化或最大化,系统会将其恢复到其原始大小和位置。应用程序在还原最小化窗口时应指定此标志。

票数 1
EN

Stack Overflow用户

发布于 2009-08-31 09:38:18

在不涉及技术的情况下(例如,我不知道您正在使用的语言),程序需要存储当前正常大小、当前状态和以前的状态。

然后,当从最小化恢复时,它可以检查以前的状态和大小。

在WPF中,当前的大小和状态存储在主窗口的TopLeftHeightWidthWindowState属性中。位置和大小的副本保存在RestoreBounds结构中,这是由基类使用的(所以你不必这样做),例如,当从最大化的窗口恢复时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1356636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档