具有两个窗口的C++中的应用程序.任务栏中显示的一个窗口.另一个未显示
Application in C++ with two windows. One window shown in taskbar. The other not shown
我在编码之前正在做一些分析,在寻找具有以下特征的应用程序的信息或实现时遇到了一些麻烦:
- 窗口 #1(显示在任务栏上) 窗口#
- 2(不显示在任务栏上,您可以将此窗口放在窗口#1后面,因此我们不是在谈论从窗口#1植根的弹出窗口/对话框) 窗口
- #1 和窗口 #2 都在同一个项目(或应用程序中,可以这么说)
同样,这只是概念上的讲话,所以如果你能指出我一些信息证明这是可能的,那就太好了。请注意,这是在C++而不是 C# 中。
我想出的最接近的是:
- 添加了从 CWnd 派生的类 在
类中添加了以下函数
void Create2ndWindow(CWnd* pParent){
LPCTSTR pszClassName = AfxRegisterWndClass(CS_VREDRAW |CS_HREDRAW, ::LoadCursor(NULL, IDC_ARROW), (HBRUSH) ::GetStockObject(WHITE_BRUSH), ::LoadIcon(NULL, IDI_APPLICATION));
BOOL bCreated = CreateEx(WS_EX_CLIENTEDGE, pszClassName, _T("My Second Window"), WS_BORDER|WS_CAPTION|WS_ACTIVECAPTION|WS_MAXIMIZEBOX|WS_MINIMIZEBOX|WS_POPUPWINDOW|WS_SIZEBOX, CRect(20, 20, 100, 100), pParent, NULL); if(bCreated) ShowWindow(SW_SHOW);
}
在 InitInstance 中,我添加了以下行:CSecondWindow* pWnd = new CSecondWindow();pWnd->Create2ndWindow(pFrame);
执行应用程序,桌面上会出现 2 个窗口,但您应该只看到一个任务栏按钮用于 pFrame 窗口,而没有用于 CSecondWindow 的按钮
如果 pParent 为 NULL,则会看到任务栏按钮。您可以添加另一种样式WS_EX_TOOLWINDOW但会降低标题栏的高度。
相关文章:
- 如果不在窗口 10 中声明名为 openCV 的 openCV namedWindow,QT 图像显示将无法正常工作
- Visual Studio 2017 停止工作,并在打开后显示许多控制台窗口
- 在 GLFW 窗口中显示 FFMPEG 解码帧
- Gtkmm 窗口为空白,不显示任何小部件或标题
- 为什么输出窗口上没有显示输出?
- C++ 窗口显示无框图像
- 如何使用Qt在新窗口中显示视频帧
- 如何以编程方式使窗口全屏显示?
- 强制将以SW_HIDE启动的进程中的窗口显示为STARTUPINFO
- 制作垫子类型对象的数组.输出窗口显示同一帧
- Gtk::在将我的gtkmm2移植到gtkmm3应用程序时,窗口显示并退出
- OpenGL:新窗口显示当前打开的窗口的内容
- WINAPI 创建窗口显示奇怪的结果
- 为什么通过CreateProcess调用的程序的窗口显示为SW_HIDE和CREATE_NO_INDOW
- 输出窗口显示三个图像,而不是一个
- 分窗口显示一个软件,总是在最上面
- WINAPI -窗口显示在调试版本中,而不是在发布版本中
- 在Visual Studio中使用本地Windows调试器运行第一个程序。输出窗口显示大量"Cannot find or open the PDB file"
- 我们如何防止控制台窗口显示在Visual Studio下
- 更新窗口显示OpenGL/GLUT c++