如何启动MFC SDI应用程序处于非活动状态
How to start MFC SDI app inactive?
我要求我的MFC SDI应用程序启动为非活动状态。这是一个屏幕键盘。
在直接Win32中,只需调用ShowWindow( hWnd, SW_SHOWNA );
是很简单的
这在MFC中不起作用。我尝试过各种各样的东西:
覆盖CMainFrame
的OnActivate()
、OnActivateApp()
、OnCreate()
、PreCreateWindow()
。
我还尝试在应用程序类中重写LoadWindowPlacement()
。
也尝试过类似的东西:
AllowSetForegroundWindow( ASFW_ANY );
::SetForegroundWindow(::GetNextWindow(::GetDesktopWindow(), GW_HWNDPREV ));
运气不好。
MFC应用程序有一个特殊参数CWinApp::m_nCmdShow。此参数通常设置为SW_SHOW,并显示和激活应用程序。该参数来自STARTUPINFO。它是通过WinMain定义的,MFC将其存储在CWinApp::m_nCmdShow中。
当创建框架窗口并需要显示时,该成员将用于框架的深度。
因此,在创建任何窗口之前设置它。如果你想显示你的应用程序,但不想激活它,设置为
m_nCmdShow = SW_SHOWNA;
如果你搜索这个,你会发现一堆文章。
相关文章:
- 试图在visual studio上用C++创建一个桌面应用程序
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 在C应用程序中运行C++(带有STL)函数
- 使用VerQueryValue检索应用程序的文件描述
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用调试/崩溃报告将应用程序部署到客户端
- C++控制台应用程序阻止退出
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 将应用程序从32位移植到64位时出现问题
- 如何改变c++应用程序的视觉效果
- WM_CTLCOLORSTATIC从未在WIN32应用程序中触发
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- 如何在MFC SDI CFormView应用程序中调整窗体(对话框)的大小
- 使用SDI应用程序(MFC)从文本文件读取数据并显示数据
- 在CView SDI应用程序中动态创建图片控件
- 基于CListView的SDI应用程序中的选择更改事件
- 是否有一种方法可以改变MFC SDI应用程序的标题字体?
- 如何启动MFC SDI应用程序处于非活动状态