﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-lanshengsheng-随笔分类-ActionScript3.0(as 3)</title><link>http://www.cppblog.com/lanshengsheng/category/20059.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 30 Mar 2013 13:00:42 GMT</lastBuildDate><pubDate>Sat, 30 Mar 2013 13:00:42 GMT</pubDate><ttl>60</ttl><item><title>VC中鼠标经过按钮弹出功能提示（TIPS)</title><link>http://www.cppblog.com/lanshengsheng/archive/2013/03/25/198797.html</link><dc:creator>盛胜</dc:creator><author>盛胜</author><pubDate>Mon, 25 Mar 2013 01:25:00 GMT</pubDate><guid>http://www.cppblog.com/lanshengsheng/archive/2013/03/25/198797.html</guid><wfw:comment>http://www.cppblog.com/lanshengsheng/comments/198797.html</wfw:comment><comments>http://www.cppblog.com/lanshengsheng/archive/2013/03/25/198797.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lanshengsheng/comments/commentRss/198797.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lanshengsheng/services/trackbacks/198797.html</trackback:ping><description><![CDATA[<span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">在VC中，也常常为一些图片按钮添加一些功能提示。</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">下面讲解实现过程：</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">该功能的实现主要是用CToolTipCtrl类。该类在VC&nbsp;</span><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;">&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">msdn中有详细说明。</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">首先</span><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">在对话框的头文件中加入初始化语句：public:下，加入：CToolTipCtrl&nbsp;</span><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;">&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;">&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;">&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">m_Mytip;</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">然后在初始化对话框函数中加入：</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">m_Mytip.Create(this);&nbsp;</span><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;">&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">m_Mytip.AddTool( GetDlgItem(IDC_BUTTON), "你想要添加的提示信息" ); //IDC_BUTTON为你要添加提示信息的按钮的ID</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">m_Mytip.SetDelayTime(200); //设置延迟</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">m_Mytip.SetTipTextColor( #0000ff ); //设置提示文本的颜色</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">m_Mytip.SetTipBkColor( #ffffff); //设置提示框的背景颜色</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">m_Mytip.Activate(TRUE); //设置是否启用提示</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">然后在类向导中添加PreTranslateMessage消息响应函数</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg)</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">{</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">// T</span><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">ODO: Add your specialized code here and/or call the base class</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" />&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;">&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">if(pMsg-</span><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">&gt;message==WM_MOUSEMOVE)</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" />&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;">&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><wbr style="color: #464646; font-family: simsun; background-color: #bcd3e5;"><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">m_Mytip.RelayEvent(pMsg);</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">return CDialog::PreTranslateMessage(pMsg);</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">}</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">注：如果要为多个按钮添加功能提示只需在</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">m_Mytip.AddTool( GetDlgItem(IDC_BUTTON), "你想要添加的提示信息" );</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">的下面再加上类似语句，如</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">m_Mytip.AddTool( GetDlgItem(IDC_BUTTON1), "你想要添加的提示信息1" );</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">m_Mytip.AddTool( GetDlgItem(IDC_BUTTON2), "你想要添加的提示信息2" );</span><br style="color: #464646; font-family: simsun; background-color: #bcd3e5;" /><span style="color: #464646; font-family: simsun; background-color: #bcd3e5;">。。。。。。。。<br /><br /><br /></span><span style="color: #111111; font-family: arial; font-size: 12px; line-height: normal; background-color: #f5f5f5;">例子：<br /><br />声明：<br /></span><div>CToolTipCtrl m_Tip;<br /><br />初始化：<br /><div>BOOL C***Dlg::OnInitDialog()<br />{<br />省略部分。。。。。。。。。。<br /></div></div><div><span style="white-space:pre">	</span>//按钮浮动提示</div><div><span style="white-space:pre">	</span>m_Tip.Create(this);</div><div><span style="white-space:pre">	</span>m_Tip.AddTool(&amp;m_BtnPlay,"播放");</div><div><span style="white-space:pre">	</span>m_Tip.SetDelayTime(100);</div><div><span style="white-space:pre">	</span>m_Tip.Activate(TRUE);<br />}<br />类视图中重写：<br /><div>BOOL C****Dlg::PreTranslateMessage(MSG* pMsg)</div><div>{</div><div><span style="white-space:pre">	</span>// TODO: 在此添加专用代码和/或调用基类</div><div><span style="white-space:pre">	</span>m_Tip.RelayEvent(pMsg);<br />}</div></div><img src ="http://www.cppblog.com/lanshengsheng/aggbug/198797.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lanshengsheng/" target="_blank">盛胜</a> 2013-03-25 09:25 <a href="http://www.cppblog.com/lanshengsheng/archive/2013/03/25/198797.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>