【发布时间】:2013-12-09 14:29:06
【问题描述】:
我是 MFC 初学者。当我创建一个简单的基于表单的 MFC 应用程序(使用 VS2012)时,我发现了这个小错误,但我不知道如何修复它。
默认程序似乎记住了程序之前的状态,即窗口位置、窗口大小(最大化或最小化)。所以当程序重新打开时,程序会恢复到上次关闭的状态。
以下是查找错误的步骤:
1) 打开程序
2) 最大化窗口
3) 关闭程序
4) 重新启动程序
发生的情况是,当我重新启动程序时,虽然窗口未处于最大化状态,但右上方窗口的“最大化”按钮无法正确显示。它不再显示最大化的图标,而是显示“还原”图标...
如何修复这个错误?
此外,我如何禁用此功能,以便程序始终可以在特定位置和大小启动,而不管其先前的关闭状态?
在m_pMainWnd->ShowWindow(SW_SHOW);之前使用m_pMainWnd->MoveWindow(x, y, Width, Height)函数?
【问题讨论】:
-
很可能,您只是在保持窗口大小而不是窗口状态。您能否发布更多代码以便我们确认?
-
嗨,我想分享我的代码。但是我应该发布代码的哪一部分?我注意到如果使用“Visual Studio”项目样式创建项目,即使在默认代码(不添加任何修改)上也会出现相同的错误。
-
我在考虑保存和恢复窗口尺寸的代码。如果该代码是 MFC 本身的一部分,并且您只调用 MFC 函数来使用它,请发布调用这些函数的代码。
-
我猜 OP 认为 Visual Studio 中存在错误,而不是在他的代码中 :)