MFC如何给工具条上的按钮添加提示功能
1个回答
展开全部
推荐个学习交流群: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;
}
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询