MFC树控件CTreeCtrl中为每个item节点动态添加提示信息,并定时更新提示内容

本文介绍如何在MFC的CTreeCtrl控件中为每个item节点动态添加提示信息,并实现定时更新提示内容。通过创建CToolTipCtrl并结合OnMouseMove、OnTimer消息处理,实现实时显示不同节点的错误代码解释。
摘要由CSDN通过智能技术生成

头文件:MTreeCtrl.h

#if !defined(AFX_MTREECTRL_H__87B2DD8F_F569_4294_9607_7676050EED34__INCLUDED_)
#define AFX_MTREECTRL_H__87B2DD8F_F569_4294_9607_7676050EED34__INCLUDED_


#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// MTreeCtrl.h : header file
//


/
// CMTreeCtrl window


class CMTreeCtrl : public CTreeCtrl
{
// Construction
public:
CMTreeCtrl();


// Attributes
public:


// Operations
public:


// Overrides
// ClassWizard generated virtual function overrides
//{ {AFX_VIRTUAL(CMTreeCtrl)
//}}AFX_VIRTUAL


// Implementation
public:
virtual ~CMTreeCtrl();


// Generated message map functions
protected:
CToolTipCtrl m_ttip;
HTREEITEM m_curItem;
CPoint m_curPos;
//{ {AFX_MSG

如需要源代码,请发邮件给我。动态库中提供获取作者的Email接口函数 public: //功能:获取作者邮箱 //输入:无 //输出:无 //返回:作者信息 CString GetAutherEmail(); //功能:判断输入的节点句柄是否存在 //参数:[in] hItem 节点句柄 //返回:true节点存在,false节点不存在 bool FindItemExist(HTREEITEM hItem); //功能:设置一个节点字体颜色 //参数:[in] hItem 节点句柄 // [in] clrText 节点字体颜色 //返回:true设置字体颜色成功,false设置字体颜色失败 //注:内部不包含刷新 bool SetItemTextColor(HTREEITEM hItem, COLORREF clrText); //功能:获取一个节点字体颜色 //参数:[in] hItem 节点句柄 // [out] clrText 节点字体颜色 //返回:true获取字体颜色成功,false获取字体颜色失败 //注:内部不包含刷新 bool GetItemTextColor(HTREEITEM hItem, COLORREF &clrText;); //功能:设置扩展按钮的边框颜色 //参数:[in] clrButtonBorder 扩展按钮的边框颜色 //返回:无 //注:内部包含刷新 void SetExpandedButtonBorder(COLORREF clrButtonBorder); //功能:设置扩展按钮的十字颜色 //参数:[in] clrButtonCross 扩展按钮的十字颜色 //返回:无 //注:内部包含刷新 void SetExpandedButtonCross(COLORREF clrButtonCross); //功能:刷新背景 //输入:无 //输出:无 void RedrawTreeCtrl(); //功能:设置画线的样式 //输入:[in] nPenStyle 画线样式 // [in] nWidth 画线宽度 // [in] crColor 画线颜色 //返回:无 //注:内部包含刷新 void SetPenLineStyle(int nPenStyle, int nWidth, COLORREF crColor); protected: //功能:判断输入的节点句柄是否存在 //参数:[in] hItem 节点句柄 //返回:true节点存在,false节点不存在 bool FindChildItemExist(HTREEITEM hParantItem, HTREEITEM hItem); //功能:绘制文字 //参数:[in] pDC 设备DC //返回:无 void OnDrawText(CDC *pDC); //功能:绘制一个节点文字 //参数:[in] pDC 设备DC // [in] hItem 节点句柄 //返回:true成功,false失败 bool OnDrawItemText(CDC *pDC, HTREEITEM hItem); //功能:绘制展开按钮 //参数:[in] pDC 设备DC //返回:无 void OnDrawButton(CDC *pDC); //功能:绘制一个节点展开按钮 //参数:[in] pDC 设备DC // [in] hItem 节点句柄 //返回:true成功,false失败 bool OnDrawItemButton(CDC *pDC, HTREEITEM hItem); //功能:绘制一个节点展开按钮(节点展开) //参数:[in] pDC 设备DC // [in] hItem 节点句柄 //返回:true成功,false失败 bool OnDrawItemButtonExpanded(CDC *pDC, HTREEITEM hItem); //功能:绘制一个节点展开按钮(节点未展开) //参数:[in] pDC 设备DC // [in] hItem 节点句柄 //返回:true成功,false失败 bool OnDrawItemButtonNotExpanded(CDC *pDC, HTREEITEM hItem); //功能:绘制节点连接线 //参数:[in] pDC 设备DC //返回:无 void OnDrawLines(CDC *pDC); //功能:绘制根节点连接线 //参数:[in] pDC 设备DC //返回:无 void OnDrawItemLines(CDC *pDC, HTREEITEM hItem); private: //功能:获取画线的区域(排除扩展按钮的区域) //参数:无 //返回:创建的画线的区域 void CreateRgnForDrawLines(CRgn &rgnDraw;);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值