说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VC中用CPPToolTip轻松实现工具提示

HTML文档下载 WORD文档下载 PDF文档下载
CPPToolTip是一个非常棒的工具提示实现,它支持HTML-lite语句、CSS样式表、菜单、工具条、淡入淡出、超链接、动画、表格等等超强功能。

下载源代码

 

CPPToolTip是一个非常棒的工具提示实现,它支持HTML-lite语句、CSS样式表、菜单、工具条、淡入淡出、超链接、动画、表格等等超强功能。

 

 

一、使用CPPToolTip的第一步:文件的引用

 

文件
描述
PPTooltip.h
PPTooltip.cpp
CPPTooltip 类

PPHtmlDrawer.h PPHtmlDrawer.cpp

CPPHtmlDrawer类. 在tooltip里画出HTML字符串。

PPDrawManager.h
PPDrawManager.cpp

CPPDrawManager类是一组图形处理方法集
CeXDib.h
CeXDib.cpp
CCeXDib类,感谢Davide Pizzolato 和 Davide Calabro的提供. 这个类实现了背景特效.

 

如果需要使用背景特效,需要定义USE_SHADE:
在 PPDrawManager.h 中

 

如果需要使用背景特效,需要定义USE_SHADE:

在 PPDrawManager.h 中 #define USE_SHADE

 

 

二、CPPToolTip的基本使用方法:创建CPPToolTip对象

 

CPPToolTip m_tooltip;

然后创建窗口,对于对话框程序,可以在OnInitDialog中

 

CDialog::OnInitDialog();m_tooltip.Create(this);

然后可以调用AddTool为其它控件注册工具提示,例如:

 

m_tooltip.AddTool(GetDlgItem(IDC_BUTTON1), _T("IDC_BUTTON1控件的工具提示"));

可以为某个区域添加工具提示,例如:

 

m_tooltip.AddTool(this, _T("方框中的Tooltip"),  CRect (100, 100, 200, 200));

另外,你需要在PreTranslateMessage中用RelayEvent将鼠标消息传递到工具提示控件中。

 

BOOL ... ::PreTranslateMessage(MSG* pMsg){    m_tooltip.RelayEvent(pMsg); }
三、为工具条添加工具提示
1)在CMainFrame头文件中创建CPPToolTip对象:
CPPToolTip m_tooltip;
2)在CMainFrame::OnCreate() 中调用AddToolBar方法:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){    ...    m_tooltip.Create(this);    //为工具条添加工具提示    m_tooltip.AddToolBar(&m_wndToolBar);    return 0;}
3)用RelayEvent传递鼠标消息
BOOL CMainFrame::PreTranslateMessage(MSG* pMsg){    m_tooltip.RelayEvent(pMsg);}
四、为菜单添加工具提示
1)在CMainFrame头文件中创建CPPToolTip对象:
CPPToolTip m_tooltip;
2)在CMainFrame::OnCreate() 中调用Create方法:
m_tooltip.Create(this);
3)取消注释行,启用菜单工具提示
在PPTooltip.h 中
#define PPTOOLTIP_USE_MENU
4)在CMainFrame添加两个消息处理
void CMainFrame::OnMenuSelect(UINT nItemID, UINT nFlags, HMENU hSubMenu){     m_tooltip.OnMenuSelect(nItemID, nFlags, hSubMenu);     CFrameWnd::OnMenuSelect(nItemID, nFlags, hSubMenu);}void CMainFrame::OnEnterIdle(UINT nWhy, CWnd* pWho){     m_tooltip.OnEnterIdle(nWhy, pWho);}
5)用RelayEvent传递鼠标消息
BOOL CMainFrame::PreTranslateMessage(MSG* pMsg){    m_tooltip.RelayEvent(pMsg); }
CPPToolTip还有很多超棒的功能期待您的发现。

 

计算数据库某字段的值-Delphi资料 计算字段值-Delphi资料 建立应用软件注册安全机制-Delphi资料 建立自己的数据字典库-Delphi资料 将BLOB字段的BMP图显示出来-Delphi资料 将图像放入数据库中-Delphi资料 解 决sybase 用 户 数 据 库 不 能 进 入 故 障 的 一 种 方 法-Delphi资 解决sybase用户数据库不能进入故障的一种方法-Delphi资料 解决一个DBF表时的"Index not found.."错误-Delphi资料 精简Delphi数据库应用系统 精简Delphi数据库应用系统-定制BDE驱动程序 精简数据库应用系统-Delphi资料 开 发 基 于ORACLE7 数 据 库 的 管 理 信 息 系 统-Delphi资料 开 发AS/400 应 用 系 统: PB5 与Delphi3 的 比 较 利 用Delphi 开 发 响 应 用 户 输 入 的 数 据 库 查 询Web Server 程 利用Delphi开发响应用户输入的数据库查询Web Server程序 利用Tbatch组件完成数据批处理-Delphi资料 如 何 恢 复Sybase SQL Anywhere 的 数 据 库-Delphi资料 如何捕捉KEY VIOLATION等错误-Delphi资料 如何得到SQL返回的计算结果-Delphi资料 如何动态的读取Delphi中的PopupMenu的Caption ? 如何动态设置DBGRID。比如,动态设置DBGRID的COLUMNS。及如何在数值数据格式成千分位 如何返回BDE的状态信息?-Delphi资料 如何控制关键字段的重复输入及报错-Delphi资料 如何设置Microsoft SQL Server 全文索引服务 ?-Delphi资料 如何设置多用户环境的PARADOX数据库-Delphi资料 如何实现在一个Dbgrid中显示多数据库-Delphi资料 如何用SQL查询日期型字段?-Delphi资料 如何在数据库中存放avi文件-Delphi资料 如何在注册表中注册BDE-Delphi资料 筛选数据-Delphi资料 菜鸟问题:PHP中的变量使用前一定得声明吗?? 加QQ:82439610 我来建个ORACLE、PL/SQL的QQ群! 大家多交流! 用光驱看电影时经常说“显示器刷新率超出范围”,然后就只能重启,这是怎么回事? 加QQ:82439610 我来建个ORACLE、PL/SQL的QQ群! 大家多交流! 请问哪里可以免费下载到linux的源代码啊?谢谢! 如何择书与读书? 加QQ:82439610 我来建个ORACLE、PL/SQL的QQ群! 大家多交流! 我想转行到计算机软件,您有什么建议呢? 各位高手,看看这个贴!!谢谢 菜鸟问题:请教red hat下用.iso的安装镜像文件升级软件包的问题 这个中秋霉到家了,看看还有没有比我更霉的,同时祝愿自己能快点度过难关好起来!!!!!!!!!! 帮忙看看这个SQL语句什么地方错了? 此上机题的程序代码应该怎么写 想找个unix高手,有没有啊? 那里有java的帮助手册下载?类似于萎软的msdn & 0xFFF0是什么意思 银行存钱手续费问题 计算机网络——熊桂喜 译 INPUT如何用图片作背景? 谁能给我贴一个 Regular 动态 mfc-dll的例子! 函数怎样调用? 在线的各位高手,请问哪里可以下到SYBASE11.9.2安装程序? EJB-QL问题,怎么使用模糊查询LIKE? 请进 为什么我装了声卡驱动程序后,只能听到声音,却说不了话? rh9中用户目录下的.profile为什么不起作用? 我是专学PL/SQL编程的,但是我觉得这个不像是真正意义的编程! 大家进来看看吧! VC6下如何向Oracle中添加和读取BLOB型的数据? 一个关于Delphi6和Delphi7的问题 请问怎么知道C# MSDN 里的每一个类,每一个方法是做什么用的? 问题挺多的?请不吝赐教!都是小问题! 输入光标的移动问题 菜鸟请教:请问如何打包成jar和jad文件? 关于Oracle存储大量二进制数据的问题, 有武汉的朋友么! 加我qq 7095682 看完《美丽人生》 帮帮我 一条菜虫问一个很菜的问题? 当数据库中没有图片时候该怎么办 关于时间掩码? 问题挺多的?请不吝赐教!都是小问题! Turbo c一定要安装在win98下吗 如何修改存储器参数,我的表会越来越大,原来用默认参数 看了下面的帖子后我自己的一点感受 我怎样定位我的涉及DataReader的表格? 如何制做半透明窗体,上面的控件也要能控制是否透明。 我要转行了,也许CODEING只是爱好,要把它做为职业,惨,,, 请问大家能不能推荐一本关于PHOTOSHOP 7.0 DREAMWEAVE MX 的书籍 一个简单的图像序列化存储 EDIT1.TEXT从用户接受的内容如何放进ARR 设计数据库时这样的情况应该如何处理 Un发散 Vn收敛 Un,Vn绝对值之和,平方和的收敛性如何 Un收敛 Vn收敛 Un,Vn绝对值之和,平方和的收敛性如何 英语翻译辣椒酱 番茄沙司包装酱菜包装调味品古制牛奶粒 番茄沙司香菜心 咸橄榄脆萝卜酱菜 现在有多点触摸的电阻屏了吗?是几个点的几线电阻屏啊?都有那些品牌,那些厂家的好那些的差我正在做一台触摸显示器,听说有电阻多点触摸屏,不知道是真是假.一般好像是红外多点触摸屏,电 直线AB上有三个点才C,D,E,以上这五个点为端点的射线有几条 ab是圆o的直径 c是圆o上一点点D是弧AC的中点连接AD,BD射线AC与BD相交于E,与圆过点B的切线相交于F,de=4 be=8 求圆o的直径猜想三角形bef的形状,并证明你的猜想 在直线AB上取C、D、E三个点,则图中共有几条射线,分别是?分别是哪几个射线 建设创新性国家,基础是(单选)1.人才2.技术3.教育4.对外开放 用物理学方法图解镜中的影像如何形成 论述我国对民族资产阶级及其工商业进行社会主义改造的必然性和可能性如题 谢谢了 如果ab都为正数,且a≠b求证a^6+b^6>a^4b^2+a^2b^4 日著名餐饮集团被曝食品造假 欺骗顾客美国监听门事件愈演愈烈 白宫承诺将重欧洲西部多国遭飓风袭击 已致至少13津巴布韦男子蝉联最丑先生 自称丑与生中国公司承建的首条至斯里兰卡铁路动工男子将中国瓷器当垃圾尘封20年 拍出美参议院情报委员会主席:白宫已承诺停华人男子失业 纽约杀表嫂一家5口提审华人男子失业 纽约杀表嫂一家5口提审奥巴马社交账户被黑 其遭批“监听世界男子头戴丝袜闯婚礼震惊来宾 抢走数千羽凡白百何亮相破婚变传闻女孩晕倒在206公交车上……家庭病床推向农村过几关?扫货吧 有别墅比洋房便宜深海行记 “蛟龙”号第6次下潜(高清广东普工月薪超2400元 上半年城镇云南昭通柿凤公路被滑坡阻断 200余骗得300多万元佛山照明索赔案8月再度开庭森女の时髦日记外汇占款年内首现负增长傲视星辰异界之不死战魂一本攻略做妖孽重生之仙路官途异世神宠机器猫四界生存道死夜恶萌萌烟波醉悠悠木槿花西月锦绣轮回之恋俪颜温泉群旅游王池旅游长白山大峡谷旅游梯子河旅游天池旅游成都人民公园旅游小通巷旅游十八梯旅游通天飞瀑旅游极地海洋公园旅游武汉海昌极地海洋世界旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘