我要求我的MFC SDI应用程序启动非活动状态。它是一个屏幕键盘。
在Win32中,只需调用ShowWindow( hWnd, SW_SHOWNA );
这在MFC中不起作用。我尝试过各种各样的事情:
覆盖OnActivate()
的{{1}},OnActivateApp()
,OnCreate()
,PreCreateWindow()
。
我还尝试在我的应用类中覆盖CMainFrame
。
还尝试过:
LoadWindowPlacement()
没有运气。
答案 0 :(得分:2)
MFC应用程序有一个特殊参数CWinApp :: m_nCmdShow。 此参数通常设置为SW_SHOW,并显示和激活应用程序。该参数来自STARTUPINFO。它是通过WinMain定义的,MFC将它存储在CWinApp :: m_nCmdShow中。
当框架窗口被创建并需要显示时,在构造的深度中使用了smember。
因此在创建任何窗口之前设置它。如果要显示应用程序但不想激活它,请设置为
m_nCmdShow = SW_SHOWNA;
如果你搜索这个,你会发现一堆文章。