标签:
在mfc中大家经常用GetParent方法获取父窗口指针,但你会发现有时候他返回的并不是你理解上的父窗口,为什么了? 这是变态的微软隐含的一些约束导致的。
子窗口是不可以作为Dialog的父窗体的,至少MFC中是不能。
// a popup window cannot be owned by a child window
while (hWnd != NULL && (::GetWindowLong(hWnd, GWL_STYLE) & WS_CHILD)) hWnd = ::GetParent(hWnd);
如果想获得Dialog的父窗体,请使用Dialog::m_pParentWnd。
在文档视图模型中由于view是mainframe的子窗口,则以view作为父窗口的对话框等通过getparent获取的都是mainframe窗口。
以下CTestDlg构造的时候
标签:
原文地址:http://www.cnblogs.com/develop-me/p/5744773.html