



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CToolTipCtrl使用详细解说2009-06-26 15:29 7747 人阅读 评论 收藏举报ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法。一般用法步骤:1. 添加 CToolTipCtrl 成员变量 m_tt。2. 在父窗口中调用 EnableToolTips(TRUE);3. 在窗口的OnCreate (或者其他适当的位置)中向ToolTip中添加需要显示Tip的子窗口,并同时指定相应的显示字串CToolTipCtrl:AddTool(pWnd, ” string todi
2、splay ”。4. 重载父窗口的 BOOL PreTranslateMessage(MSG* pMsg),在函数中调用 m_tt.RelayEvent(pMsg)。下面假设在窗口 CWndYour中使用CToolTipCtrl在类定义中添加变量说明:1. classCWndYour:xxx2. 3. CToolTipCtrl m_tt;4. 在On Create中添加需要显示Tip的子窗口1. CWndYour:OnCreate (.)2. 3. EnableT oolTips(TRUE );4. m_tt .Create (this);5. m_tt .Activate (TRUE );6
3、.6. CWnd* pW二GetDlgltem(IDC_CHECK1);得到窗口指针7. m_tt.AddTool(pW,Check1);添加8. 在 BOOL PreTranslateMessage(MSG* pMsg)中添加代码1. BOOLCWndYour :PreTranslateMessage(MSG* pMsg )2. 3. 4. m_tt.RelayEvent (pMsg);5. 6. returnCParentClass: PreTranslateMessage(pMsg );7. 这样当鼠标移动到相应的子窗口上时会显示出相应的ToolTip动态改变ToolTip的显示内容的方
4、法及步骤:1. 上面所讲的1、2、4步骤。2. 在增加ToolTip时不指定显示的字串,而是使用 LPSTR_TEXTCALLBACK。3. 在窗口中增加消息映射 ON_NOTIFY_EX( TTN_NEEDTEXT, 0, SetTipText )。4. 在窗口中增加一个函数用于动态提供显示内容,其原型为BOOL SetTipText( UINT id, NMHDR * pTTTStruct, LRESULT * pResult ),下面的代码可以根据传入的参数判定应该显示的内容。1. BOOL CWndYour:SetTipText( UINT id, NMHDR * pTTTStruct
5、, LRESULT * pResult )2. 3. TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pTTTStruct;4. UINT nID =pTTTStruct-idFrom ; /得到相应窗口 ID,有可能是 HWND5. if (pTTT-uFlags & TTF_IDISHWND ) 表明 nID 是否为 HWND6. 7. nID = :GetDlgCtrlID (HWND )nID);/从 HWND 得到 ID 值,当然你也可以通过 HWND 值来判断8. switch (nID)9. case(IDC_YOUR_CONTROL1)10. strcpy
6、 (pTTT-lpszText ,your_str ing1);/ 设置11. return TRUE;12. break;13. case(IDC_YOUR_CONTROL2)设置相应的显示字串14. return TRUE;15. break;16. 17. return (FALSE);18. 作者:闻怡洋wyy_原文:/fateyeah/blog/item/fc7c07b37ab250a7d9335aa7.html/如何操纵CToolTipCtrl来给自己的控件添加tool tip呢? MSDN给岀了答案。创建并操纵一个CToolT
7、ipCtrl创建一个CToolTipCtrl的对象.调用Create函数来创建windows通用提示控件并使之与 CToolTipCtrl对象产生关联。调用AddTool函数来把tool tip control注册到一个tool上,这样存储在tool tip中的信息就能在光标悬浮在这个tool上的时候显示岀来。调用SetToolInfo来设置tool tip为这个tool所保留的信息。调用SetToolRect来设置该tol的一个新的范围矩形。调用HitTest函数来判断一个点是否在某个给定tool的范围矩形之内,如果是的话,就返回这个tool的信息。调用GetToolCount来得到一个to
8、ol tip所关联到的tool的个数。/ Create and associate a tooltip con trol to the tab con trol of/ CMyPropertySheet. CMyPropertySheet is a CPropertySheet-derived/ class.BOOL CMyPropertySheet:。nlni tDialog().BOOL bResult = CPropertySheet:O nln itDialog();/ Create a tooltip con trol.m_ToolTipCtrl is a member variab
9、le/ of type CToolTipCtrl* in CMyPropertySheet class. It is/ initialized to NULL in the constructor, and destroyed in the/ destructor of CMyPropertySheet class.m_ToolTipCtrl = new CToolTipCtrl;/ 第一步,创建对象if (!m_ToolTipCtrl-Create(this)/ 第二步,调用 Create 函数.TRACE(U nable To create ToolTip );retu rn bResul
10、t;/ Associate the tooltip con trol to the tab con trol/ of CMyPropertySheet.CTabCtrl* tab = GetTabC on trol();tab-SetToolTips(m_ToolTipCtrl);/ Get the bounding recta ngle of each tab in the tab con trol of the/ property sheet. Use this rectangle when registering a tool with/ the tool tip con trol.ID
11、S_FIRST_TOOLTIP is the first ID stri ng/ resource that contains the text for the count = tab-GetItemCo un t();int id = IDS_FIRST_TOOLTIP;for (int i = 0; i GetItemRect(i, &r);VERIFY(m_ToolTipCtrl-AddTool(tab, id, & r, id);/ Activate the tooltip con trol.m_ToolTipCtrl-Activate(TRUE);retu rn bResult;/ Override PreTra nslateMessage() so RelayEve nt() can be/ called to pass a mouse message to CMyPropertySheets/ tooltip con trol for process ing.B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教山西 九年级 下册 语文 第四单元《 短文两篇》习题课 课件
- 人教陕西 九年级 下册 语文 第四单元《 短文两篇》习题课课件
- 人教版部编版小学语文一年级上册日月水火教学设计教案11
- 八年级数学苏科版下册第十二单元《12.2二次根式的乘除》教学设计教案
- 《囚绿记》随堂练习2 新人教必修语言基础知识
- 出租布置卧室合同范例
- 全道路运输合同范例
- 公司书出版合同范例
- 专业分包备案合同范例
- 出资协议签署合同范例
- 煤矿“双回路”供电保障专项整治实施方案
- 科学研究方法与学术论文写作
- 航空航天概论(课堂PPT)
- 英语的起源与发展(课堂PPT)
- 药物化学结构式大全(高清版)
- 二房东租房合同范文
- 物业工程人员入户维修流程
- 科教版四年级第二学期自然教学教案
- FABE模压训练
- 第二次全国残疾人抽样调查主要数据手册
- 七年级下册英语单词默写表(直接打印)
评论
0/150
提交评论