void CMyTreeView::OnInitialUpdate()
{
{
CTreeView::OnInitialUpdate();}
m_TreeCtrl = &GetTreeCtrl();
/*
TVS_HASLINES 表示树控制在各子项之间存在连线;
TVS_LINESATROOT 表示树控制在根项之间存在连线;
TVS_HASBUTTONS 表示树控制视在父项左侧存在展开合拢控制按钮;
TVS_EDITLABELS 表示可以控制鼠标单击修改树项的名称;
TVS_SHOWSELALWAYS 表示选中项即使在窗口失去输入焦点时仍然保持选中状态;
TVS_DISABLEDRAGDROP表示禁止树控制发送TVN_BEGINDRAG消息
*/
m_TreeCtrl->ModifyStyle(0, TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS);
/*
typedef struct tagTVINSERTSTRUCTW {
HTREEITEM hParent; ①hParent 父项的句柄。如果这个成员的值是TVI_ROOT或NULL,这项将被作为树形控件的根插入。
HTREEITEM hInsertAfter; ②hInsertAfter 插入的新项之后的项的句柄。 或者这些值TVI_FIRST在列表的开始插入项;TVI_LAST在列表的最后插入项;TVI_ROOT作为一个根项添加;TVI_SORT以字母顺序插入项
union
{
TVITEMEXW itemex;
TV_ITEMW item;
} DUMMYUNIONNAME;
} TVINSERTSTRUCTW, *LPTVINSERTSTRUCTW;
*/
/*
typedef struct tagTVITEMW {
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPWSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
} TVITEMW, *LPTVITEMW;
*/
TVINSERTSTRUCT tvInsert;
HTREEITEM hTreeItem;
tvInsert.hInsertAfter = NULL;
tvInsert.hParent = TVI_ROOT; //如果这个成员的值是TVI_ROOT或NULL,这项将被作为树形控件的根插入
tvInsert.item.mask = LVFIF_TEXT;
tvInsert.item.pszText = L"一年级";
hTreeItem = m_TreeCtrl->InsertItem(&tvInsert);
tvInsert.hParent = hTreeItem;
tvInsert.item.pszText = L"1班";
m_TreeCtrl->InsertItem(&tvInsert);
tvInsert.item.pszText = L"2班";
m_TreeCtrl->InsertItem(&tvInsert);
m_TreeCtrl->Expand(hTreeItem, TVE_EXPAND); //设置节点展开,默认为闭合
tvInsert.hParent = TVI_ROOT;
tvInsert.item.pszText = L"二年级";
hTreeItem = m_TreeCtrl->InsertItem(&tvInsert);
tvInsert.hParent = hTreeItem;
tvInsert.item.pszText = L"1班";
m_TreeCtrl->InsertItem(&tvInsert);
tvInsert.item.pszText = L"2班";
m_TreeCtrl->InsertItem(&tvInsert);
//m_TreeCtrl->Expand(hTreeItem, TVE_EXPAND); //设置节点展开
tvInsert.item.pszText = L"3班";
m_TreeCtrl->InsertItem(&tvInsert);