C++ MFC:x27上的错误;最大化按钮';如果程序以前在最大化状态下关闭

C++ MFC:x27上的错误;最大化按钮';如果程序以前在最大化状态下关闭,c++,mfc,window,C++,Mfc,Window,我是一个MFC初学者。我在创建一个简单的基于表单的MFC应用程序(使用VS2012)时发现了这个小错误,但我不知道如何修复它 默认程序似乎记住了程序以前的状态,即窗口位置、窗口大小(最大化或最小化)。因此,当程序重新打开时,程序将恢复到上次关闭的状态 以下是查找错误的步骤: 1) 打开程序 2) 最大化窗口 3) 关闭程序 4) 重新启动该计划 发生的情况是,当我重新启动程序时,尽管窗口未处于最大化状态,但右上角窗口的“最大化”按钮没有正确显示。它现在显示的不是最大化图标,而是“还原”图标 如何

我是一个MFC初学者。我在创建一个简单的基于表单的MFC应用程序(使用VS2012)时发现了这个小错误,但我不知道如何修复它

默认程序似乎记住了程序以前的状态,即窗口位置、窗口大小(最大化或最小化)。因此,当程序重新打开时,程序将恢复到上次关闭的状态

以下是查找错误的步骤:

1) 打开程序

2) 最大化窗口

3) 关闭程序

4) 重新启动该计划

发生的情况是,当我重新启动程序时,尽管窗口未处于最大化状态,但右上角窗口的“最大化”按钮没有正确显示。它现在显示的不是最大化图标,而是“还原”图标

如何修复此错误

此外,如何禁用此功能,使程序始终可以在特定位置和大小启动,而不考虑其先前的关闭状态


在m_pMainWnd->ShowWindow(SW_SHOW)之前使用m_pMainWnd->MoveWindow(x,y,Width,Height)功能

当我使用CFormView创建默认示例时,OnInitialUpdate包含一行resizeparentofit()

删除它,应用程序将最大化为上一个状态。ResizeParentToFit,完全按照名称执行。它调整父窗口的大小,使父窗口与您创建的窗体完全匹配


如果根本不希望恢复窗口位置,请将变量CWinApEx::m_bLoadWindowPlacement设置为FALSE。默认情况下,此标志设置为TRUE

最可能的情况是,您只保留窗口大小,而不是窗口状态。你能发布更多的代码以便我们确认吗?嗨,我想分享我的代码。但是我应该发布代码的哪一部分呢?我注意到,如果使用“Visual Studio”项目样式创建项目,即使在默认代码(不添加任何修改)上也会出现相同的错误。我正在考虑保存和恢复窗口尺寸的代码。如果该代码是MFC本身的一部分,并且您只调用MFC函数来使用它,请发布调用这些函数的代码。我猜OP认为Visual Studio中存在错误,而不是他的代码:)