如何从任务栏隐藏CDialogEX? (MFC C ++)

时间:2011-09-11 10:40:23

标签: c++ mfc taskbar cdialog

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

打开后,它会显示一个空的任务栏标签,没有标题或图标......

我希望它作为主框架的子窗口打开,而不需要任务栏标签。

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

任何想法?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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;
}

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

相关问题