在VC++中不直接引入CTreeCtrl控件,而是直接用类来做的情况下,可以采用下面的方法实现style模式改变:
CTreeCtrl& m_tree = GetTreeCtrl();
lStyleOld = GetWindowLong(m_hWnd, GWL_STYLE);
lStyleOld |= TVS_HASBUTTONS |
TVS_HASLINES | TVS_LINESATROOT | TVS_EDITLABELS |
WS_BORDER | WS_TABSTOP,18,15,60,78,WS_EX_STATICEDGE;;
SetWindowLong(m_tree.GetSafeHwnd(), GWL_STYLE, lStyleOld); //改变Tree的类型
CTreeCtrl& m_tree = GetTreeCtrl();
lStyleOld = GetWindowLong(m_hWnd, GWL_STYLE);
lStyleOld |= TVS_HASBUTTONS |
TVS_HASLINES | TVS_LINESATROOT | TVS_EDITLABELS |
WS_BORDER | WS_TABSTOP,18,15,60,78,WS_EX_STATICEDGE;;
SetWindowLong(m_tree.GetSafeHwnd(), GWL_STYLE, lStyleOld); //改变Tree的类型
也可以用tree控件的操作函数实现:
m_tree.Expand(data,TVE_EXPAND);
m_tree.SetTextColor(RGB(0, 0, 128));
m_tree.SetBkColor(RGB(0,128,100));等等