用MFC调用tooltips控件的方法.doc_第1页
用MFC调用tooltips控件的方法.doc_第2页
用MFC调用tooltips控件的方法.doc_第3页
用MFC调用tooltips控件的方法.doc_第4页
用MFC调用tooltips控件的方法.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用MFC调用tooltips控件的方法Tooltip控件显示可以自定义、包含图像和格式化的工具提示。Tooltip控件包含以下选项(在“HTML 特性”面板中可见):contentElementProperty设置属于Tooltip的内容的 HTML 元素。extraClass设置要应用于Tooltip控件的宿主元素的其他 CSS 类。infotip设置一个值,该值指定Tooltip是否为信息提示 - 包含大量信息且显示时间应长于典型Tooltip的工具提示。innerHTML设置Tooltip的 HTML 内容。placement设置Tooltip相对于其目标元素的位置:top、bottom、left或right如何用VC+实现在对话框的控件上显示ToolTip并在状态条上显示控件的信息湖南省邮电五二六厂肖天鹏-利用VC+的AppWizard,可以很容易地实现工具条和菜单项的ToolTip或在状态条上显示帮助信息,但要在对话框的控件上显示ToolTip并在状态条上显示控件信息并不是那么容易,其实,利用VC+中的WM_SETCURSOR与TTN_NEEDTEXT消息就可达到目的。具体操作如下:-一-利用VC+的MFCAppWizard生成一个SDI或MDI的应用程序-二-编辑对话框控件的字符串资源-例如:-IDC_DBBUTTON1=thisis肖天鹏的第一自制按钮n天鹏,其中字符串thisis肖天鹏的第一自制按钮将在鼠标移到控件上时显示在状态条上,字符串天鹏将作为ToolTip显示。-三-建立消息映射。-在对话框的头文件(*.H)中加入以下代码:protected:voidSetStatusText(UINTnID=0);/AFX_MSG(CFileOp1)afx_msgvoidOnDestroy();afx_msgBOOLOnSetCursor(CWnd*pWnd,UINTnHitTest,UINTmessage);/AFX_MSGafx_msgBOOLOnTipNotify(UINTid,NMHDR*pNMHDR,LRESULT*pResult);DECLARE_MESSAGE_MAP()-在对话框的实现文件(*.CPP)中加入以下代码:BEGIN_MESSAGE_MAP(CFileOp1,CDialog)/AFX_MSG_MAP(CFileOp1)ON_WM_DESTROY()ON_WM_SETCURSOR()/AFX_MSG_MAPON_NOTIFY_EX(TTN_NEEDTEXT,0,OnTipNotify)END_MESSAGE_MAP()-四-编辑消息处理函数。BOOLCFileOp1:OnSetCursor(CWnd*pWnd,UINTnHitTest,UINTmessage)/TODO:Addyourmessagehandlercodehereand/orcalldefaultif(pWnd=this)SetStatusText();elseTOOLTIPTEXTm_psttt;m_psttt.hdr.hwndFrom=m_hWnd;m_psttt.hdr.idFrom=pWnd-GetDlgCtrlID();m_psttt.hdr.code=TTN_NEEDTEXT;m_psttt.uFlags=TTF_IDISHWND;SetStatusText(pWnd-GetDlgCtrlID();this-SendMessage(WM_NOTIFY,m_psttt.hdr.idFrom,(LPARAM)&m_psttt);returnCDialog:OnSetCursor(pWnd,nHitTest,message);voidCFileOp1:OnDestroy()SetStatusText();CDialog:OnDestroy();voidCFileOp1:SetStatusText(UINTnID)if(nID=0)nID=AFX_IDS_IDLEMESSAGE;CWnd*pWnd=AfxGetMainWnd()-GetDescendantWindow(AFX_IDW_STATUS_BAR);if(pWnd)AfxGetMainWnd()-SendMessage(WM_SETMESSAGESTRING,nID);pWnd-SendMessage(WM_IDLEUPDATECMDUI);pWnd-UpdateWindow();BOOLCFileOp1:OnTipNotify(UINTid,NMHDR*pNMHDR,LRESULT*pResult)TOOLTIPTEXT*pTTT=(TOOLTIPTEXT*)pNMHDR;UINTnID=pNMHDR-idFrom;if(pTTT-uFlags&TTF_IDISHWND)nID=:GetDlgCtrlID(HWND)nID);if(nID)TCHARszFullText256;CStringStrTipText;AfxLoadString(nID,szFullText);AfxExtractSubString(StrTipText,szFullText,1,n);if(!StrTipText.IsEmpty()strcpy(pTTT-lpszText,StrTipText);pTTT-hinst=AfxGetResourceHandle();return(TRUE);return(FALSE);-五-在Stdafx.h文件中加入以下指令:#incl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论