关于CTreeCtrl问题~~~
我的问题是:
-----当前在线学生
+++用户一
+++用户二
...
其中当前在线学生这个我用的成员函数为~
void CUserView::OnInitialUpdate()
{
CTreeView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
HICON hIcon[3];
m_imageList.Create(16,16,0,3,3);
//添加小图标到m_imageList中
hIcon[0] = AfxGetApp()->LoadIcon(IDI_TEACHER);
hIcon[1] = AfxGetApp()->LoadIcon(IDI_MALE);
hIcon[2] = AfxGetApp()->LoadIcon(IDI_FEMALE);
for(int n = 0; n < 3;n++)
{
m_imageList.Add(hIcon[n]);
}
CTreeCtrl& tc = GetTreeCtrl();
tc.ModifyStyle(0,TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES);
//设置背景颜色为绿色和字体颜色为蓝色
tc.SetBkColor(RGB(0,255,255));
tc.SetTextColor(RGB(0,0,255));
tc.SetImageList(&m_imageList,TVSIL_NORMAL);
tvinsert.hParent = NULL;
tvinsert.hInsertAfter = NULL;
tvinsert.item.mask = TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
tvinsert.item.hItem = NULL;
tvinsert.item.state = 0;
tvinsert.item.stateMask = 0;
tvinsert.item.cchTextMax = 6;
tvinsert.item.iSelectedImage = 0;
tvinsert.item.cChildren = 0;
tvinsert.item.lParam = 0;
//top level,最顶层
tvinsert.item.pszText = "当前在线学生";
tvinsert.item.iImage = 0;
hDad = tc.InsertItem(&tvinsert);
}
然后想通过另外一个成员函数来添加学生的姓名~~~
void CUserView::AddItem(short i, char *name, char *text)
{
tvinsert.hParent = hDad;
tvinsert.item.pszText = name;
tvinsert.item.iImage = i;
XXX.InsertItem(&tvinsert);//XXX就是不知道如何获取上面的OnInitialUpdate()里面的tc~
}
因为我使用的是GetTreeCtrl()而不是通过Create()成员函数来创建~~~
那我如何在类中定义CTreeCtrl变量来保存OnInitialUpdate()的tc,然后将该参数传递到AddItem中~~~