85上位机VC MFC树视图节点的连线颜色设置
85上位机VC MFC树视图节点的连线颜色设置
功能展示
树状视图的界面我们可以进行DIY设置实现程序界面的美化;但当你想设置树状视图的边线颜色设置时,你会发现,VC无法实现,当前例程通过SendMessage()方便快速地实现 了连线颜色的设置,效果如图 要点提示 树状视图的连线是黑色的想修改它,却发现VC没有提供访问的方法,我当前例程通过发送消息TV_FIRST+40消息来实现连线颜色的修改:::SendMessage(m_Tree.m_hWnd,TV_FIRST+ 40, 0, (LPARAM)RGB(255,0,0)); m_Tree为我们关联树状视图的变量; 实现功能 1.新建基于对话框的应用程序
2.拖拽树状视图控件关联变量 CTreeCtrl m_Tree;再添加CImageList m_ImageList;给这两个变量初始化 - m_ImageList.Create(16,16,ILC_COLOR24|ILC_MASK,1,0); //创建列表视图窗口
- m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1)); //向图像列表中添加图标
- m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2)); //向图像列表中添加图标
- m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON3)); //向图像列表中添加图标
- m_Tree.SetImageList(&m_ImageList,LVSIL_NORMAL); //关联图像列表
- HTREEITEM m_Root; //声明保存根节点的变量
- m_Root = m_Tree.InsertItem("工控编程",0,0); //向根节点插入数据
- HTREEITEM m_Child; //声明保存二级节点的变量
- m_Child = m_Tree.InsertItem("PLC编程",1,1,m_Root); //插入一个二级节点
- m_Tree.InsertItem("欧姆龙PLC编程",2,2,m_Child); //插入三级节点
- m_Tree.InsertItem("西门子PLC编程",2,2,m_Child); //插入三级节点
- m_Child = m_Tree.InsertItem("触摸屏编程",1,1,m_Root); //插入二级节点
- m_Tree.InsertItem("海泰克触摸屏",2,2,m_Child); //插入三级节点
- m_Tree.InsertItem("维纶触摸屏",2,2,m_Child); //插入三级节点
- m_Tree.Expand(m_Root,TVE_EXPAND); //展开跟节点
- //用代码实现属性设置
- m_Tree.ModifyStyle(0,TVS_CHECKBOXES|TVS_HASBUTTONS|TVS_HASLINES|TVS_LINESATROOT|TVS_FULLROWSELECT,0);
复制代码
然后就是通过m_Tree.SetTextColor(RGB(0,255,0));m_Tree.SetBkColor(RGB(0,0,255)); ::SendMessage(m_Tree.m_hWnd,TV_FIRST + 40, 0,(LPARAM)RGB(255,0,0));//设置线条颜色设置树状视图的文本背景及连线的颜色了;
我们来演示下功能实现的整个过程
|