在一个全局函数中想访问树视,
方法如下:
POSITION pos = theApp.m_pDocTemplate->GetFirstDocPosition();
CDocument *pDoc = theApp.m_pDocTemplate->GetNextDoc(pos);
pos = pDoc->GetFirstViewPosition();
CTreeView *pView = (CTreeView *)pDoc->GetNextView(pos);
CTreeCtrl &tree = pView->GetTreeCtrl();
HTREEITEM root, group_item, case_item;
CString item_text;
int flag = 0;
root = tree.GetRootItem();
跟踪的时候:
pView 0X00456100 {CMyView hWnd=???} //???啥意思
root 为空
我只打开一个文档,并且树视已经显示?多谢大侠救命
方法如下:
POSITION pos = theApp.m_pDocTemplate->GetFirstDocPosition();
CDocument *pDoc = theApp.m_pDocTemplate->GetNextDoc(pos);
pos = pDoc->GetFirstViewPosition();
CTreeView *pView = (CTreeView *)pDoc->GetNextView(pos);
CTreeCtrl &tree = pView->GetTreeCtrl();
HTREEITEM root, group_item, case_item;
CString item_text;
int flag = 0;
root = tree.GetRootItem();
跟踪的时候:
pView 0X00456100 {CMyView hWnd=???} //???啥意思
root 为空
我只打开一个文档,并且树视已经显示?多谢大侠救命
从字面意思看,表示pView这个指针地址是有了,但是窗口句柄不能显示?如果你只打开一个view,用
((CMainFrame *)AfxGetMainWnd())->GetActiveView()就得到view了,不用那么麻烦
{
CTreeView *pView = (CTreeView *)pDoc->GetNextView(pos);
//之后应该判断一下是不是CTreeView
if(pView->IsKindOf(RUNTIME_CLASS(CMyView)))
{
root = tree.GetRootItem();
}
}
我在App中调用的标准打开操作
m_pDocTemplate->OpenDocumentFile(NULL);
在视图的OnInitialUpdate()中mytree.Create(...)这样视树就显示出来了我在全局函数中想访问mytree?
怎么做
CTreeCtrl* gp_tv=(CTreeCtrl*)FromHandle(hWnd)