`
guowee
  • 浏览: 177299 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

CTreeCtrl 如何在展开节点时更换图标

阅读更多
最近再做一个如何在展开CTreeCtrl节点的时候,想更换一下该节点的图标。
那么如何判断该节点是否处于展开的状态呢。

我是用如下事件来做的。

在.h里面定义函数:
afx_msg void OnTvnItemexpandedTreeMain(NMHDR *pNMHDR, LRESULT *pResult);

在.cpp文件中实现该函数
HTREEITEM selectedItem = m_mainTree.GetSelectedItem();
	if(selectedItem == hRecentContacts || selectedItem == hOfenUsedContacts || selectedItem == hUnderConversation)
	{
		if (m_mainTree.GetItemState(selectedItem,TVIS_EXPANDED)&TVIS_EXPANDED)
		{
			m_mainTree.SetItemImage(selectedItem,8,8);
		}
		else
		{
			m_mainTree.SetItemImage(selectedItem,7,7);
		}
	}


分享到:
评论

相关推荐

    office 图标 CTreeCtrl 代码 图标提取工具

    5. **事件处理**:当用户在`CTreeCtrl`中交互时,如点击或展开节点,你可能需要更新图标的状态,例如高亮或选中状态的图标。 在实际的项目中,还需要考虑错误处理、内存管理和性能优化。同时,由于Office图标可能...

    自定义皮肤树控件(CTreeCtrl)

    对于展开时的“+”、“-”图标,项目提供了自定义选项。这些图标通常表示子节点的隐藏与显示状态。通过重绘这些图标,我们可以更改其样式,甚至用自定义的图形替换,使得控件更符合特定主题的要求。这可能涉及到处理...

    树形控件,是一个很好的例子

    总的来说,通过这个例子,我们可以学习到如何在VC++中有效地使用和自定义树形控件,包括添加和操作节点、设置和更换图标,以及处理用户交互。这对于开发Windows应用程序,尤其是需要展示层次信息的应用来说,是非常...

    动态加载树结构到MFC的树控制.rar_MFC_mfc 树_mfc 树_动态加载_树结构

    2. 设置树控件样式:通过调用CTreeCtrl的`Create`函数来创建树控件,并设置所需的样式,例如允许用户展开/折叠节点(TVS_HASBUTTONS)和显示加号/减号图标(TVS_HASLINES)。 3. 添加根节点:使用`InsertItem`函数...

    VC++树结构代码

    通过`CTreeCtrl`,开发者可以添加、删除、选择、展开和折叠树节点。 **2. 树结构的创建** 创建树结构时,首先需要在对话框或窗口资源中添加一个树视图控件。然后在代码中通过`Create`函数实例化`CTreeCtrl`,并设置...

    VS2003显示树的方法

    `Expand()`方法用于展开或折叠节点。 6. **自定义行为**: CTreeCtrl还支持许多其他功能,如拖放操作、搜索、排序等。你可以重写OnNotify()函数以处理自定义的消息。 7. **图标和图像列表**: 为了使树看起来更...

    CSkinTreeCtrl

    4. **节点图标**:除了默认的展开/折叠图标,`CSkinTreeCtrl`还允许设置自定义的节点图标,增强视觉效果。 5. **字体样式**:可以自由更改控件中文字的字体、颜色和大小,以适应不同的主题或品牌要求。 在实际使用`...

    制作透明按钮和去自定义树形控件控件前面+-

    CTreeCtrl是Windows控件,用于显示层次结构数据,通常用“+”和“-”按钮表示节点的展开和折叠。为了替换这些按钮,我们需要覆盖OnPaint()函数,使用CClientDC和CDC类进行绘图。创建一个自定义的CMyTreeCtrl类,继承...

    TreeCtrlTest MFC Tree控件的应用举例 可以保存和读取xml文件

    通过CTreeCtrl类,我们可以添加、删除、修改节点,以及设置节点的各种属性,如图标、文字颜色等。在这个示例中,TreeCtrlTest演示了如何创建并更新树结构,展示XML文件的节点层次。 其次,TreeCtrlTest实现了递归...

    树控件的应用 -- 求子树节点的集VC源代码

    `InsertItem()`函数接受参数,如父节点的句柄、节点文本和图标索引,以定义新节点的属性。 在树控件中求解子树节点的集合涉及到遍历和搜索操作。CTreeCtrl提供了`GetChildItem()`、`GetNextSiblingItem()`和`...

    MFC树形控件的使用,mfc_tree,XML的调用

    可以使用这些函数动态构建树结构,例如添加根节点、子节点,并设置它们的文字和图标。 4. 事件处理:MFC通过消息映射机制处理树形控件的用户交互事件,如单击、展开、折叠等。需要在类的声明中声明消息映射入口,并...

    vc treeview 的使用

    记得为TreeView的节点分配图像列表,可以包含展开/折叠图标和自定义的文件类型图标。资源文件(.rc)中定义图像列表,并在代码中加载。 总结来说,"vc treeview 的使用"涉及了MFC编程中的控件操作、文件系统遍历、...

    vc树型控件与列表控件的应用

    例如,可以将树型控件的节点结构序列化为XML或JSON格式,然后在启动时反序列化。列表控件的数据可以写入CSV或二进制文件,便于数据交换和持久化。 在实际应用中,文件读取与存储的实现通常会涉及错误处理和优化。...

    CTreePropSheetEx_Chm_对话框树状列表风格的属性表单_

    5. **样式定制**:可以自定义节点图标、颜色等视觉元素,提升用户体验。 标签“对话框树状列表风格的属性表单”强调了这种特殊的设计模式,它是对话框和树控件的结合,提供了更灵活的界面布局。 在提供的压缩包中...

    使用TreeView和ListView显示数据库的数据.zip_tree control mfc

    - 当用户在TreeView中选择一个节点时,可以根据该节点的关联数据更新ListView,展示对应的数据。 **步骤6:图像列表** 在题目中提到了BIG.BMP和SMALL.BMP,它们可能是用来设置TreeView节点的图像。你可以创建一个...

    Text_CTreeBT_Demo.rar

    4. **事件处理**:控件的交互性是其核心,"Text_CTreeBT_Demo"提供了丰富的事件响应机制,例如点击、展开/折叠节点等,这些都依赖于MFC的消息映射机制和ON_NOTIFY_EX系列宏。 5. **数据绑定**:项目可能还包括数据...

    用到GDI+画图,把图片放到地图上

    在这里,我们可以将地图的不同区域或者地点作为树型控件的根节点和子节点,用户可以通过展开和折叠来查看不同级别的地理信息。当用户右键点击树型控件的某个子节点时,可以触发一个消息处理函数,执行相应的操作,...

    mfc窗口分割和树形控件的结合使用实例

    `OUTLOOKSTYLE.001、OUTLOOKSTYLE.APS、OUTLOOKSTYLE.CLW`这些文件可能包含的是项目的资源文件,如对话框、图标、菜单等,它们在编译时会被转换为二进制资源,供程序运行时使用。 总的来说,这个实例展示了如何在...

    文本编辑器(mfc窗口程序的所有例子,综合到了一起)

    在资源管理器或文件浏览器中常见,用户可以通过展开和折叠节点来浏览和操作数据。 5. **Static控件**:`CStatic`类在MFC中用于创建静态文本、图像或自定义控件。它们通常用于显示提示信息、标题或作为其他控件的...

    VS2010-MFC编程入门教程(1-55)

    - **树形控件TreeControl**:介绍了`CTreeCtrl`类的使用,包括如何创建节点、展开/折叠节点、设置图标等。 - **标签控件TabControl**:讨论了`CTabCtrl`类的特性,包括创建标签页、设置标签文本和图标等。 #### ...

Global site tag (gtag.js) - Google Analytics