也可以你先定义一个基于 CFormView类的指针pTestView,然后你这个类的构造函数中把this指针丢出来: class CTestView *pTestView; class CTestView:public CFormView {public: CTreeCtrl m_Tree;//用ClassWizard加的Control型变量. ... } CTestView::CTestView() { pTestView = this; .... }...... extern class CTestView *pTestView; ......pTestView->m_Tree.InsertItem("test"0, 0, pTestView->m_Tree.GetRootItem(),TVI_FIRST);
void CNewGradeDlg::OnOK() { CString strGrade; CEdit * pdtGrade = (CEdit*)GetDlgItem(IDC_EDTGRADE); pdtGrade->GetWindowText(strGrade); pTestView->m_tree.InsertItem(strGrade,0, 0, pTestView->m_Tree.GetRootItem(),TVI_FIRST);//执行到这句错误 CDialog::OnOK(); } 错误信息如下: NewGradeDlg.cpp(49) : error C2039: 'm_Tree' : is not a member of 'CLeftPaneView' Teachmanager\leftpaneview.h(19) : see declaration of 'CLeftPaneView' TeachManager\NewGradeDlg.cpp(49) : error C2228: left of '.GetRootItem' must have class/struct/union type Error executing cl.exe.
还是不行啊? pTestView->GetDlgItem(IDC_TREEINFO)->InsertItem(strGrade,0, 0, pTestView->m_Tree.GetRootItem(),TVI_FIRST); 错误代码: error C2039: 'InsertItem' : is not a member of 'CWnd' c:\program files\microsoft visual studio\vc98\mfc\include\afxwin.h(1899) : see declaration of 'CWnd' D:\TeachManager\NewGradeDlg.cpp(49) : error C2039: 'm_Tree' : is not a member of 'CLeftPaneView' d:\teachmanager\leftpaneview.h(19) : see declaration of 'CLeftPaneView' D:\TeachManager\NewGradeDlg.cpp(49) : error C2228: left of '.GetRootItem' must have class/struct/union type
如pTestView->m_Tree.InsertItem("test"0, 0, pTestView->m_Tree.GetRootItem(),TVI_FIRST);
class CTestView *pTestView;
class CTestView:public CFormView
{public:
CTreeCtrl m_Tree;//用ClassWizard加的Control型变量.
...
}
CTestView::CTestView()
{
pTestView = this;
....
}......
extern class CTestView *pTestView;
......pTestView->m_Tree.InsertItem("test"0, 0, pTestView->m_Tree.GetRootItem(),TVI_FIRST);
{
CString strGrade;
CEdit * pdtGrade = (CEdit*)GetDlgItem(IDC_EDTGRADE);
pdtGrade->GetWindowText(strGrade);
pTestView->m_tree.InsertItem(strGrade,0, 0, pTestView->m_Tree.GetRootItem(),TVI_FIRST);//执行到这句错误
CDialog::OnOK();
}
错误信息如下:
NewGradeDlg.cpp(49) : error C2039: 'm_Tree' : is not a member of 'CLeftPaneView'
Teachmanager\leftpaneview.h(19) : see declaration of 'CLeftPaneView'
TeachManager\NewGradeDlg.cpp(49) : error C2228: left of '.GetRootItem' must have class/struct/union type
Error executing cl.exe.
用这个试试,把IDC_TREE2改成你自己的ID
pTestView->GetDlgItem(IDC_TREEINFO)->InsertItem(strGrade,0, 0, pTestView->m_Tree.GetRootItem(),TVI_FIRST);
错误代码:
error C2039: 'InsertItem' : is not a member of 'CWnd'
c:\program files\microsoft visual studio\vc98\mfc\include\afxwin.h(1899) : see declaration of 'CWnd'
D:\TeachManager\NewGradeDlg.cpp(49) : error C2039: 'm_Tree' : is not a member of 'CLeftPaneView'
d:\teachmanager\leftpaneview.h(19) : see declaration of 'CLeftPaneView'
D:\TeachManager\NewGradeDlg.cpp(49) : error C2228: left of '.GetRootItem' must have class/struct/union type
pTreeCtrl->InsertItem(strGrade,0, 0, pTreeCtrl->GetRootItem(),TVI_FIRST);
改成你这样的,出现这个错误。
也可以你先定义一个基于 CFormView类的指针pTestView,然后你这个类的构造函数中把this指针丢出来:
class CTestView *pTestView;
class CTestView:public CFormView
{public:
CTreeCtrl m_Tree;//用ClassWizard加的Control型变量.
...
}
CTestView::CTestView()
{
pTestView = this;
....
}......
extern class CTestView *pTestView;
这样有错吗?
class CLeftPaneView * pTestView;
从LeftPaneView.h移动到LeftPaneView.cpp就行了.
.h文件是用来声明的,能用来定义.