MFC如何给工具条上的按钮添加提示功能

 我来答
zhao3132453
2018-09-29 · TA获得超过208个赞
知道小有建树答主
回答量:367
采纳率:89%
帮助的人:87.6万
展开全部
推荐个学习交流群:8721441o7

1、 构造CToolBar类型的对象 CToolBar tool ;
2、 调用CreateEx()函数 tool.CreateEx(…) ;
3、 在资源编辑器中新建一个工具栏资源,假定ID为IDT_MYTOOL
4、 调用CToolBar的函数LoadToolBar(IDT_MYTOOL)
;
5、 (可选)如果想让工具条可以停靠,那么可以调用tool.EnableDocking(TRUE)
;此后还必须调用父窗口的EnableDocking(TRUE);意思是父窗口可以被停靠。
6、 (可选)如果希望工具条可以隐藏和显示,需要调用ShowControlBar(CControlBar*
pcontrol) ;
至此,工具栏就添加完成了。
接下来我们希望让工具栏中的按钮可以在我们鼠标经过时显示提示信息,如图:
实现这个功能需要做以下工作:
1、 在cpp文件的OnInitDialog()中添加:tool.EnableToolTips(TRUE);或者在CreateEx()函数中设置CBRS_TOOLTIPS标识。
在头文件中添加
BOOL OnToolTipsNotify(UINT id,NMHDR * pNMHDR,LRESULT* pResult);
2、 在.Cpp文件添加如下红色代码:
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_NOTIFY_EX(TTN_NEEDTEXT,0,OnToolTipsNotify) //声明
工具栏提示 通知消息 ( 必须手动添加)
END_MESSAGE_MAP()
3、定义如下函数:
BOOLCMainFrame::OnToolTipsNotify(UINT id, NMHDR* pNMHDR,LRESULT* pResult)

TOOLTIPTEXT* pT =(TOOLTIPTEXT*)pNMHDR ; //将pNMHDR转换成TOOLTIPTEXT指针类型数据
UINT nID =pNMHDR->idFrom ; //获取工具条上按钮的ID
if(nID== IDC_XXX) //如果nID是希望获取的ID,那么就设置相应提示信息到TOOLTIPTEXT结构体的lpszText中。
{
pT->lpszText = "显示文字";
}
return FALSE;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式