如何启动MFC SDI应用程序无效?

时间:2014-04-15 19:12:57

标签: c++ mfc showwindow

我要求我的MFC SDI应用程序启动非活动状态。它是一个屏幕键盘。

在Win32中,只需调用ShowWindow( hWnd, SW_SHOWNA );

即可轻松完成

这在MFC中不起作用。我尝试过各种各样的事情:

覆盖OnActivate()的{​​{1}},OnActivateApp()OnCreate()PreCreateWindow()

我还尝试在我的应用类中覆盖CMainFrame

还尝试过:

LoadWindowPlacement()

没有运气。

1 个答案:

答案 0 :(得分:2)

MFC应用程序有一个特殊参数CWinApp :: m_nCmdShow。 此参数通常设置为SW_SHOW,并显示和激活应用程序。该参数来自STARTUPINFO。它是通过WinMain定义的,MFC将它存储在CWinApp :: m_nCmdShow中。

当框架窗口被创建并需要显示时,在构造的深度中使用了smember。

因此在创建任何窗口之前设置它。如果要显示应用程序但不想激活它,请设置为

m_nCmdShow = SW_SHOWNA;

如果你搜索这个,你会发现一堆文章。