小弟在MFC欲在一个MFC对话框程序中使用CTreeCtrl对象,
但对于CTreeCtrl::Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );中的参数CWnd* pParentWnd应该怎么给值不是很清楚比如说,我的对话框对象为:
class My_Dialog_Class  : public CDialog
{
   . . . . . .
}
My_Dialog_Class  My_Dialog;
如果要在对话框My_Dialog上建立一个CTreeCtrl对象,那么CtreeCtrl::Create( ...)
中的CWnd* pParentWnd我应该怎么填或填什么呢?初学MFC,还请大家多多指教,谢谢

解决方案 »

  1.   

    很简单,只要将Create函数中的参数pParentWnd设置为&My_Dialog就可以了
      

  2.   

    你创建CTreeCtrl对象,应该是在My_Dialog_Class的初始化函数里创建的,所以My_Dialog_Class 类对象 My_Dialog 还没生成,当然也没办法取&My_Dialog指针了。很简单:
    Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID )
    DWORD dwStyle:表示你要创建的CTreeCtrl对象的风格;
    const RECT& rect:是要创建CTreeCtrl对象的位置;
    CWnd* pParentWnd:是CTreeCtrl对象的父窗口指针,也就是My_Dialog_Class  ,所以用this 即可。
    UINT nID :CTreeCtrl对象的ID号,别和其他的控件ID重复了~~
      

  3.   

    父窗口指针必须给,否则CTreeCtrl消息必能发送到父窗口,用this就可以了。