莫名其妙: m_pParentWnd这是那个类中的成员?

时间:2022-09-17 20:10:14
我在我的旧程序里发现一个指针, 指向了父窗口的指针, 功能正确, 但是我搞不明白它是从哪里来的?

我没有定义它, MSDN中也找不到它!

4 个解决方案

#1


应该是一些函数需要的参数!

#2


搜一下源代码,发现CDialog和CPropertySheet类里有这个member(VC7的mfc)。

#3


TO CDialog
how does the constructor set the parent? When you pass a parent window pointer to CDialog::CDialog, it stores the pointer in a member m_pParentWnd, which it uses later in DoModal. So you need to manually set m_pParentWnd after creating the object, but before running the dialog. But you can't do that either because CDialog::m_pParentWnd is protected! Sigh.

#4


谢: 碳107.

正应该是在CDIALOG中的! 但是CDIALOG中的构造涵数有一个参数, CWnd* pParent = NULL,

这不是重复了吗?

#1


应该是一些函数需要的参数!

#2


搜一下源代码,发现CDialog和CPropertySheet类里有这个member(VC7的mfc)。

#3


TO CDialog
how does the constructor set the parent? When you pass a parent window pointer to CDialog::CDialog, it stores the pointer in a member m_pParentWnd, which it uses later in DoModal. So you need to manually set m_pParentWnd after creating the object, but before running the dialog. But you can't do that either because CDialog::m_pParentWnd is protected! Sigh.

#4


谢: 碳107.

正应该是在CDIALOG中的! 但是CDIALOG中的构造涵数有一个参数, CWnd* pParent = NULL,

这不是重复了吗?