在 MFC(Microsoft Foundation Classes)中,CWnd::SetParent 是一个公共方法,用于设置窗口的父窗口。该方法的声明如下:
CWnd* SetParent(CWnd* pWndNewParent);

  •  pWndNewParent: 一个指向新父窗口的 CWnd 对象指针。


通过调用 SetParent 方法,你可以将当前窗口设置为指定父窗口的子窗口。这种操作可以用于改变窗口的层次结构。

以下是一个示例,演示如何在 MFC 应用程序中使用 SetParent 方法:
// 创建一个主窗口
CMainFrame* pMainFrame = new CMainFrame();
if (!pMainFrame->Create(NULL, _T("Main Window")))
{
    AfxMessageBox(_T("Failed to create main window!"));
    return FALSE;
}
pMainFrame->ShowWindow(SW_SHOWNORMAL);
pMainFrame->UpdateWindow();

// 创建一个对话框
CMyDialog* pDialog = new CMyDialog(pMainFrame);
pDialog->Create(IDD_MYDIALOG, pMainFrame);
pDialog->ShowWindow(SW_SHOWNORMAL);
pDialog->UpdateWindow();

// 将对话框设置为主窗口的子窗口
pDialog->SetParent(pMainFrame);

在这个示例中,首先创建了一个主窗口 pMainFrame,然后创建了一个对话框 pDialog。最后,通过调用 SetParent 方法,将对话框设置为主窗口的子窗口。这样,对话框就成为了主窗口的一部分,可以随着主窗口的移动而移动。


转载请注明出处:http://www.pingtaimeng.com/article/detail/23558/MFC/CWnd