QQ登录

只需一步,快速开始

14.上位机VC MFC实现工具栏按钮在对话框中的提示功能

[ 复制链接 ]
对话框工具栏的提示功能

功能展示
在文档视图的应用程序中,默认情况下,当要票在工具栏按钮上停留时,会出现一个工具提示条。但在对话框程序中,却没有这一功能,如何实现呢?此实例就实现了,效果如图

14.上位机VC MFC实现工具栏按钮在对话框中的提示功能

14.上位机VC MFC实现工具栏按钮在对话框中的提示功能

要点提示
要想使工具栏有提示功能,需要同时具备两个条件,一是工具栏具有CBRS_TOOLTIPS风格,这再工具栏创建时便可实现。二是工具栏的父窗口得处理TTN_NEEDTEXT通知消息,所以在文档视图结构的应用程序中,只要是工具栏在创建时,添加了CBRS_TOOLTIPS风格,就能够显示 提示信息。
如果我们在对话框中添加 TTN_NEEDTEXT,还得手动添加消息映射代码
  ON_NOTIFY_EX(TTN_NEEDTEXT, 0, OnToolTipNotify)
OnToolTipNotify是我们自定义气函数,原型如下

  afx_msg BOOLOnToolTipNotify( UINT id, NMHDR * pNMHDR, LRESULT * pResult );
函数中
Id 是发送消息的控件ID,当前无用,因为控件ID可以来自Pnmhdr;
pNMHDR 是一个NMHDR结构体指针,此结构体记录了发送消息的控件ID,句柄等信息;

pResult 表示结果代码指针, TTN_NEEDTEXT消息可以忽略此参数

实现功能
•1.新建一个对话框应用程序
•2.在对话框类中添加几个变量
•  CToolBar m_wndToolBar;
•  CString m_ToolText;
•3.添加一个工具栏资源IDR_TOOLBAR1 。
•4.在对话框类的OnInitDialog()中对这些变量进行初始化
•5.实现函数功能OnToolTipNotify()
•  //设置图象和按钮的大小,为了适当的演示按钮文本
•  m_wndToolBar.GetToolBarCtrl().SetBitmapSize(CSize(16,16));
•  m_wndToolBar.GetToolBarCtrl().SetButtonSize(CSize(32,32));
•  //设置按钮文本
•  m_wndToolBar.SetButtonText(0,"新建");
•  m_wndToolBar.SetButtonText(1,"打开");
•  m_wndToolBar.SetButtonText(2,"保存");
•  m_wndToolBar.SetButtonText(4,"剪切");
•  m_wndToolBar.SetButtonText(5,"复制");
•  m_wndToolBar.SetButtonText(6,"粘贴");
•  m_wndToolBar.SetButtonText(8,"打印");
•  m_wndToolBar.SetButtonText(10,"帮助");
•  RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
•BOOL CGkbc8Dlg::OnToolTipNotify(UINTid, NMHDR *pNMHDR, LRESULT *pResult)
•{
•   TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pNMHDR;
•   UINT nID =pNMHDR->idFrom; //获取工具栏按钮ID
•  intindex = m_wndToolBar.GetToolBarCtrl().CommandToIndex(nID);//根据ID获取按钮索引
•  m_wndToolBar.GetButtonText(index,m_ToolText);//获取按钮文本
•   pTTT->lpszText=m_ToolText.GetBuffer(0);//设置显示的提示信息,可根据需要修改
•   pTTT->hinst =AfxGetResourceHandle();
•   return(TRUE);
•}
•6.最后当然是这函数对应的映射
•  ON_NOTIFY_EX( TTN_NEEDTEXT, 0,OnToolTipNotify)


•下面我们演示整个功能实现的过程



源码及视频教程下载
(仅电脑上可见)
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:14.上位机VC MFC实现工具栏按钮在对话框中的提示功能.rar 
文件大小:123.61 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


•


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索