以下是 CWnd::Attach 方法的声明:
void Attach(HWND hWndNew);
使用 Attach 方法,你可以将一个已经存在的窗口句柄(hWndNew)与 CWnd 对象相关联,使得 CWnd 对象能够代表该窗口进行操作。这样做的一个常见用例是将一个原生的 Windows 控件的句柄与一个 CWnd 对象关联,以便使用 MFC 的特性来管理和操作该控件。
以下是一个示例:
// 假设有一个已经存在的窗口句柄 hWndExisting
HWND hWndExisting = ::CreateWindow(...); // 创建窗口,实际应用中可能是通过其他方式获取的
// 将该窗口句柄与一个 CWnd 对象关联
CWnd wnd;
wnd.Attach(hWndExisting);
// 现在可以使用 CWnd 对象来操作该窗口
wnd.SetWindowText(_T("Hello, Attached Window!"));
// 最后,调用 Detach 来解除关联,注意这样做后,CWnd 对象就不再负责销毁窗口
HWND hWndDetached = wnd.Detach();
请注意,在使用 Attach 后,CWnd 对象将负责窗口的消息处理、销毁等任务。如果在结束时需要解除与窗口的关联,可以使用 CWnd::Detach 方法。
转载请注明出处:http://www.pingtaimeng.com/article/detail/23257/MFC/CWnd