首先:在你的CFrameWnd派生类中定义一个CWnd对象。
class CMainFrame : public CFrameWnd
{
...
protected:
CWnd m_wndParent;
...
然后重载派生类的CMainFrame::PreCreateWindow函数,在函数中创建隐藏的父窗口。
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if (!CFrameWnd::PreCreateWindow(cs))
return FALSE;
// 创建一个隐藏窗口
if (!::IsWindow(m_wndParent.m_hWnd))
{
LPCTSTR pstrOwnerClass = AfxRegisterWndClass(0);
if (!m_wndParent.CreateEx(0, pstrOwnerClass, "", WS_POPUP,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, 0))
return FALSE;
}
cs.hwndParent = m_wndParent.m_hWnd;
return TRUE;
}
文章来源于领测软件测试网 https://www.ltesting.net/