我有主机,当有人按下按钮时,我打开一个 CDialogEX。
打开后,它是一个空的任务栏选项卡,没有标题或图标...
我希望它作为主框架的子窗口打开,并且没有任务栏选项卡。
我尝试过使用样式和东西,但没有任何效果。
有任何想法吗?
我猜你是NULL
作为父窗口传递的。传递主应用程序窗口的窗口句柄。当您通过NULL
创建的窗口是一个无主的顶级窗口时,它们会获得任务栏按钮。
给你一些参考书目:
现在真正的工作。声明一个
CWnd m_wndHidden;
在你的课上。
然后实现下面的方法
BOOL CMyMDIChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if (!__super::PreCreateWindow(cs))
return FALSE;
// Create hidden window
if (!::IsWindow(m_wndHidden.m_hWnd))
{
pstrOwnerClass = AfxRegisterWndClass(0);
if (!m_wndHidden.CreateEx(0, pstrOwnerClass, _T(""), WS_POPUP,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, 0))
return FALSE;
}
cs.hwndParent = m_wndHidden.m_hWnd;
return TRUE;
}
我提供的第一个和最后一个链接是基于这种方法的。