1

我有主机,当有人按下按钮时,我打开一个 CDialogEX。

打开后,它是一个空的任务栏选项卡,没有标题或图标...

我希望它作为主框架的子窗口打开,并且没有任务栏选项卡。

我尝试过使用样式和东西,但没有任何效果。

有任何想法吗?

4

2 回答 2

3

我猜你是NULL作为父窗口传递的。传递主应用程序窗口的窗口句柄。当您通过NULL创建的窗口是一个无主的顶级窗口时,它们会获得任务栏按钮。

于 2011-09-11T10:50:30.517 回答
0

给你一些参考书目:

现在真正的工作。声明一个

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;
}

我提供的第一个和最后一个链接是基于这种方法的。

于 2016-05-07T19:32:36.003 回答