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

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指针类型数据

UINTnID =pNMHDR->idFrom //获取工具条上按钮的ID

if(nID== IDC_XXX) //如果nID是希望获取的ID,那么就设置相应提示信息到TOOLTIPTEXT结构体的lpszText中。

{

pT->lpszText = "显示文字"

}

return FALSE

}

方法有很多

1. 在工程的资源里面加1个菜单和3个对话框(假设ID是IDR_MENU1, IDD_DIALOG1, IDD_DIALOG2, IDD_DIALOG3)

2. 在菜单添加要的选项, 对话框里面拖你要的控件

3. 在主对话框的OnInit函数里写以下代码

CMenu* menu = new CMenu

menu->LoadMenu(MAKEINTRESOURCE(IDR_MENU1))

this->SetMenu(menu)

到现在我们已经把菜单加到主对话框里了, 节下来是响应菜单项!

1:从工具箱里拖一个ToolTip控件到窗体上,成为ToolTip1 2:选择你要添加提示的Button1,此时Button1的属性中,最下面就多了1个ToolTip1上的ToolTip属性了,就在那里编辑文字 3:ToolTip1可以编辑tip提示的各个关键属性,一个ToolTip1能满足控制...


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/7901328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存