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

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还有很多超棒的功能期待您的发现。

 

Java 7爆最新漏洞,10年前的攻击手法仍有效 Twitter联合创始人Biz Stone谈Facebook用户体验 提倡零广告 英雄会:企业的人才漏斗 开发者的武林大会 一次错误估算带来的启示 苹果开发者中心被黑:开发者信息或被窃取 SIM卡加密存漏洞 将影响数亿计的手机用户 搜狗茹立云:探索引擎产品落地 浏览器+搜索模式会成主流吗? 大势所趋,IBM Acme Air至少使用Netflix的5个开源工具 【观察】跨越“朦胧期”的云计算:产业、核心技术、生态圈以及突破点 Rovio Account:平台化之路修成正果 甲骨文总裁马克•赫德采访实录:用软硬件集成一体机打垮对手 如何一步一步打造高可扩展性的应用程序? 用Java编程,请保持简洁! 从安全隐患带来的商机来看,Hadoop同样很美 三年增四倍:如今谷歌服务占北美互联网流量四分之一 决战低功耗?Intel明年推低功耗Xeon处理器 在软件架构上增加新功能的注意事项 90后的代码界“女神”李雪:在编程中找到自己的“灵魂” 大数据之路不乏荆棘,然则其中的机遇却高于一切 iPhone销量令人意外:苹果Q3财季净利69亿美元 同比下滑 励志:12位早起的IT大佬们让小伙伴们都惊呆了 独家:苹果5周年限免神作,BADLAND开发者访谈 10亿次订阅!苹果Podcast的里程碑 免费利器Unity 4.2正式发布 支持WP8、Win8和BB10 SDCC 2013:Pinterest首位中国籍工程师两场演讲议题确定 甲骨文公布中国首届“Duke选择奖”名单 Moco、X幻想、开源中国获奖 直接拿来用,10个PHP代码片段 编程的未来 数据将成为主角 OpenCL 2.0发布,带来更强悍的异构计算能力 代码审查方式大调查 辅助工具居首(信息图) 一网打尽当下NoSQL类型、适用场景及使用公司 最近在找个网站管理系统,各位能否给个建议 windows2000的奇怪问题 关于如何自定义组件问题 有关windows 98自动重起问题。 ListBox问题 VFP8.0中的数组问题,高手和用过的人来看看! 数据库的移植问题? 重新开机时常常变成"大图标",怎样设置使WIN2K所有磁盘(c,d,e盘)上的所有文件夹和文件以"列表"显示,就是让"查看"->"列表"固定? oracle9i的安装文件都有什么?望高之!急! 哪位有没有SCJP培训的录音或其他教学的好东西阿 MSComm控件在设计时运行没问题,但打包后装到别的机子老是出现“没有注册类”,求救? delphi 做的数据库应用程序如何移植?? copysign怎么用啊? 如何将一个网页的所有链接均自动加为绝对链接? 技术与数学的问题 本人写了一个设置纸张方向和大小的函数,其中MyDevMode.dmPaperSize = psize '若vbPRPSA3 设置纸大小为A3,但在VB对象库中找不A2张对应值 tomcat4.1.24中的sevlet问题 我下载了linux的iso文件,可怎么安装啊!! 我想问一下,有关于计数器的相关的信息? 救急:是否可以在两个页面(两个单独打开得ie浏览器页面)传递参数,如何实现啊? JDBC相关的两个问题 Oracle8.1.6怎样连接SQL SERVER2000 ?(在线等待) inserted表问题 急!!!关于FileSystemObject问题,在线等 dll 编译问题 请教 请教关于iterator与container? 谁有mixerAPI的中文资料,如(mixerGetLineInfo)我需要弄懂原理(不需要MSDN) 请问“怎么样才能修改以有的flash文件”,拜托,在线等待 如何使相同的子窗口显示一个? ?请教高手有关Align的问题。 高手帮我谢谢注释~~高分相赠~~~~谢谢高手~~~~ 各位大牛们,小弟想请教大家对FlowMIS这个平台有多少了解,用此平台进行二次开发(企业信息系统)好不好。 SQL SERVER2000 怎样连接Oracle8.1.6(在线等待) C语言程序设计 如何在英文字符集的客户端访问服务器为中文的数据库? 那4M是不是让诺基亚给偷了?! 如何调用ResetPrinter函数设置默认打印机 listview使用的问题 delphi的打包问题 请大家推荐一个短信网关 调查:当你身边响起神圣的国歌时,你会不会不由自主站起来,手放到胸前,跟着节奏一起唱起来?(有感而发) 请问如何调用.chm的帮助文件? 如何调用系统默认打印机的属性! 请教新手问题~~~麻烦哪为大侠给解释解释~谢~ 如何用struts实现阴阳色列表? 怎么用vb建立一个数据库呀?注意,不是一个表,是一个数据库! 如何调用系统默认打印机的属性! 一个很老很过时的数码相机。 郁闷,超级简单题目 初学ASP,请教学习心得 我的机器怎么老死机?? 人们走进放菜的地窖时,有时会发生晕倒现象,这是因为地窖里的大白菜,番薯等也再呼吸,它们跟人一样,也是呼进二氧化碳.日长月久,它们呼出的二氧化碳就像滚雪球一样越积越多.问(1)你能 Sylvia的昵称是什么?sylvia和bella哪个好 redistribute connected什么意思 地窖内存放的红薯为什么长白毛?还有点发软的现象.这是什么原因,温度从没超过15度. Sylvia怎么读 connected什么意思 红薯地窖中硫化氢气体怎么分解 6.下列说法正确的是 ()A.只要物体运动的速度不变,物体的动量就一定不变B.只要物体运动的加速度不变,物体的动量就一定不变C.只要物体所受的合外力不变,物体的动量就一定不变D.只要物 Matlab2008,拟合自定义的曲线方程以下是怎么得到的,打开曲线拟合工具箱,选择拟合横纵坐标,输入新的曲线拟合形式:a/(1+(a/37000-1)*exp(-b*x))得到结果如下:General model:f(x) = a/(1+(a/37000-1)*exp(-b*x))Co 有谁知道这是什么虫子. 一个简单的概念性问题0是否可以进行开立方运算,如果可以,那么“根号0”是有理数还是无理数?谢谢! 先进个人材料怎么写啊 这种昆虫是什么?有谁知道? 滴血认亲事怎么回事? 先进个人材料 怎么写? 有谁知道这是什么昆虫?经常看见如图的虫子, 滴血认亲是怎么回事? 个人先进材料怎么写? cad,样条曲线是什么,拟合是什么,他们之间有什么区别,对多段线进行拟合则新的线要通过原来多段线上的点,而做成样条曲线,则不通过那些多段线上的点,为什么? 到底有没有滴血认亲这回事?如果是亲人,血真能渗入尸骨中吗 个人先进材料怎么写啊?要写些什么内容啊?年底了,公司突然把我评为先进,叫我写分材料,这个到底怎么写啊,要写些什么内容啊? He doesn´t have his schoolbag.求翻译 生物上的通过血型 能完成“滴血认亲”吗? 民族团结个人先进材料怎么写 求和鲁迅先生有关的文章! 兽医站能否承包出去给个人 谁知道一些初中数学的简便公式例如算一个数的约数个数的简便公式是把指数加1再相乘不要这乱七八糟拷贝的文章,自己知道的,一条也好啊 物质世界的奥秘虽很多,但人们总有一天会穷尽它;人类总有一天会穷尽对一切事物的认识,为什么是错的? 请高级兽医帮我解决(猪病)紧急我家的猪起初食欲不好..耳朵发红..听一个烂人说要注射"复方氨林巴比妥注射液"..结果注射之后更严重了...不光是耳朵..还有眼睛都发红了..身体还起了一些红 建筑中檐高、跨度指的是什么? 前者穷尽精力去探索存在的意义,后者迅速适应这个世界.你是?前者就象地球上苦苦追寻宇宙奥秘的科学家,他或许聪明绝顶,或许知识渊博,却永远不可能找出所有未知的答案.而后者则象是人类 神经网络拟合后的曲线如何得出方程 飞行最远的是什么鸟? 选择填空:This room is ( ),but it doesn't have ( ).A:enough big;enough windows B:big enough;windows enough C:enough big;windows enough D:big enough;enough windows 请问什么叫精尽人亡?我和我女朋友在一起时,一次能射1至4次,这样下去对身体好吗?是不是应该适当控制? 外滩Bund应怎样发音?是发短a的音,还是u的音? 已知X为第二象限角,问X/2为第几象限角?我想问的是 用直角坐标系 解题的那个简便做法,我就记得 是X为第二象限,就把什么分为两部分 英语翻译说错了,是这句话有什么错误 精尽人亡是什么意思? 市场调研方案怎么写? 由sin(2a)>0 推出a是第一,第三象限角求 高分求和论语有关的作文,比如说:论语中的君子之道.就是和君子有关的作文.大概有如下一些主题.最好都有,明天结束速度啊.*为政以德 *克己复礼 待贾如沽 *知其不可为而为之 *仁者爱人 *君 调研方案怎么写?就是调查一个市场的具体的文书.有什么格式呢?最好能给份例子啊! ,函数y=—x+1的图像过那几个象限 定义和解释有什么不同? 怎么写 交通调查方案? 什么是多价昆虫过敏源的一种!但不知道这个多价昆虫是一种虫子还是昆虫的一个种类!有知道的请帮帮忙 根据 建筑地基基础设计规范(GB50007-2011) 算出监控立杆的应力是多少.求助!根据监控坑是1200X1200X1200mm,长宽深,浇筑C30混凝土,监控立杆高6米 支壁长6米,监控杆底下直径24cm ,上面18cm,支壁18--16cm.镀 英语翻译 人遇到困境,应该怎样面对? socially connected 发光的不一定是金子.这句话怎么理解最好举例 为什么人很困惑 地基基础设计规范 GB50007-2012出台没12规范,不是11规范 计划进度与实际进度匀速进行是什么意思 精尽人亡这句话有科学依据吗? internally connected和externally connected分别是什么意思啊 法布尔是怎样看待昆虫世界的 Sylvia这个名字什么意思呢~---Sylvia---最好有出处啦~ not connected是什么意思? 俄罗斯建议在莫斯科与叙利亚政府和反对悉尼两名男子无故捅死陌生少年被判30悉尼16岁男孩参加学校活动摔下悬崖昏澳大利亚100只被困小狗被解救 狗场Facebook承认传闻:年轻人已开芬兰计划实施新禁烟法 拟禁居民在阳台“免费”医疗让俄罗斯进退两难联合国首次主动攻击非洲叛军 或抛弃被\"深井救人\"事迹在百姓中传颂 王\"歼20\"战斗机现身沪昆高速?路刘恺威《喋血孤岛》11月1日浙江教育浙江临海户外休闲用品业节俭办展 小投宁波住博会盛行低碳环保风 市民“凑热安永:中国矿企面临海外并购“机会之窗土库曼斯坦货币20年 发行金银纪念币老司机雾中迷路高速逆行 交警支招大雾温州关停淘汰159家电镀企业 10人美新书爆料奥巴马怕应酬克林顿 难独自肯尼亚少女遭多人强奸 嫌犯仅被罚剪草摩根大通:今明两年中国跨境并购将非常美国务卿回应监听活动:某些方面“太过广州市迅速组织救援力量全力支援深圳滑跟客3年助金融高管买雅居乐1800万裁件婚纱送妈妈情感天地·启事“慰安妇”谈判日本大搞“舆论战”八万亿英镑 可买全英国小心!车内比车外“毒”西瓜园情感天地·启事金沙江畔1万“福袋” 邀您认捐粤剧名家传戏展演博满堂喝彩二手成交量明显好过去年粤医患纠纷案连续两年下降梅州小伙借机求婚女友 佛山姑娘文莱问广佛线今开进海珠区实施“互联网+”拓展网络经济新空间《西关小姐》再献广府风情大学生国防军事技能赛举行德海军救起万余非法移民全面两孩广东元旦落地
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘