欢迎来到天天文库
浏览记录
ID:40645061
大小:38.50 KB
页数:5页
时间:2019-08-05
《用MFC调用tooltips控件的方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用MFC调用tooltips控件的方法Tooltip 控件显示可以自定义、包含图像和格式化的工具提示。Tooltip 控件包含以下选项(在“HTML特性”面板中可见):contentElementProperty 设置属于 Tooltip 的内容的HTML元素。extraClass 设置要应用于 Tooltip 控件的宿主元素的其他CSS类。infotip 设置一个值,该值指定 Tooltip 是否为信息提示-包含大量信息且显示时间应长于典型 Tooltip 的工具提示。innerHTML 设置 Tooltip 的HTML内
2、容。placement 设置 Tooltip 相对于其目标元素的位置:top、bottom、left 或 right如何用VC++实现在对话框的控件上显示ToolTip 并在状态条上显示控件的信息 湖南省邮电五二六厂 肖天鹏 ---- 利用 VC++ 的 AppWizard,可以很容易地实现工具条和菜单项的 ToolTip 或在状态条上显 示帮助信息,但要在对话框的控件上显示 ToolTip 并在状态条上显示控件信息并不是那么容易, 其实,利用 VC++ 中的 WM_SETCURSOR 与 TTN_NEEDTEXT 消息就可
3、达到目的。具体操作如下: ---- 一 ---- 利用 VC++ 的 MFC AppWizard 生成一个 SDI 或 MDI 的应用程序 ---- 二 ---- 编辑对话框控件的字符串资源 ---- 例如: ---- IDC_DBBUTTON1 = "this is 肖天鹏的第一自制按钮天 鹏", 其中字符串"this is 肖天鹏的第一自制按钮"将在鼠标移到控件上时显示在状态条上,字符串"天 鹏"将作为 ToolTip 显示。 ---- 三 ---- 建立消息映射。 ---- 在对话框的头文件 (*.H) 中加入以下
4、代码: protected: void SetStatusText(UINT nID=0); //{{AFX_MSG(CFileOp1) afx_msg void OnDestroy(); afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); //}}AFX_MSG afx_msg BOOL OnTipNotify( UINT id, NMHDR * pNMHDR, LRESULT * pRes
5、ult ); DECLARE_MESSAGE_MAP()---- 在对话框的实现文件 (*.CPP) 中加入以下代码: BEGIN_MESSAGE_MAP(CFileOp1, CDialog) //{{AFX_MSG_MAP(CFileOp1) ON_WM_DESTROY() ON_WM_SETCURSOR() //}}AFX_MSG_MAP ON_NOTIFY_EX(TTN_NEEDTEXT,0,OnTipNotify)END_MESSAGE_MAP()---- 四 ---- 编辑消息处
6、理函数。 BOOL CFileOp1::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) {// TODO: Add your message handler code here and/or call default if(pWnd==this) SetStatusText(); else { TOOLTIPTEXT m_psttt; m_psttt.hdr.hwndFrom=m_hWnd;
7、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); }return CDialog::O
8、nSetCursor (pWnd, nHitTest, message);}void CFileOp1::OnDestroy() { SetStatusText(); CDialog::OnDestroy();}void CFileOp1::SetStatusText(UINT
此文档下载收益归作者所有