VC++开发GIS系统(69)添加CTreeCtrl节点的自定义图标

之前文章《VC++开发GIS系统(64)CTreeCtrl中替换加号为三角形小键头》和文章《VC++开发GIS系统(65)CTreeCtrl中不显示虚线》中已经优化了CTreeCtrl的显示效果了,不过还没有满足我的要求。今天介绍是自定义CTreeCtrl的图标。

1. 画图标

这其实要看你的美术天赋,建议使用《VC++开发GIS系统(37)利用IconWorkshop添加输入点按钮》的软件和方法来绘制图标,并将图标拷贝到vs工程中的res文件夹中。

2. 导入图标

在资源视图--Bitmap,右击--添加资源,选择在步骤1中绘制的图标,最好给这个图标命名一个好记的ID。

3. 程序调用

在PrjManage.cpp中找到OnChangeVisualStyle函数将代码:

UINT uiBmpId = theApp.m_bHiColorIcons ? 你在步骤2中导入的ID : IDB_FILE_VIEW;

指定方法

HTREEITEM prjPoint = m_wndPrjView.InsertItem(_T("测试点文件.mpt"), 3, 3, prjRoot);

其中这里的3就是图标的index,最终效果如下:

我画的有点丑,还请凑合着看。

完整代码建议参考本系统的开源项目的代码,地址:GitHub

VC++开发GIS系统(68)不同节点加载不同右键菜单 VC++开发GIS系统(70)补充知识MFC中CFileDialog的使用

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

发表评论