怎么像VC6那样在视中显示一个消息提示窗口?CToolTipCtrl可以吗?立马结帐! 可以...CToolTip里面有个函数addtool..可以用来做你需要的操作 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然可以啦!仔细看看msdn就知道了 能否帖点code,我试了多次都没成功! 定义: CToolTipCtrl m_tooltip;初始化: m_tooltip.Create(this); m_tooltip.Activate(TRUE); m_tooltip.AddTool (GetDlgItem(IDC_PLAY), "开始播放");重载PreTranslateMessageBOOL CMPlayerDlg::PreTranslateMessage(MSG* pMsg) { m_tooltip.RelayEvent(pMsg); return CDialog::PreTranslateMessage(pMsg);}ok!? 很麻烦,还要区别是什么样的视,通常因为CHtmlView无法接受mouse消息,所以在CView中可以用的,在CHtmlView中不一定行。给你一点资料吧,在CView中可以用。CHtmlView中不行,其它的没试。 工具提示控制是一个小窗口,在其中显示单行文字用以描述应用程序中的工具的用途。这里的工具所指的既可以是窗口(如工具栏上的按钮),也可以是一个固定的区域。大家都知道利用APPWIZARD生成 的应用程序中工具栏带有提示,当你将鼠标放在工具栏某一个按钮上时,将显示一个小提示框告诉你按钮的功能,这种功能方便了软件的使用者。但是在视图区如何实现提示,这方面介绍的资料较少,我是在开发一个图像处理程序的时候遇到这个问题,当时我是想当鼠标放在图像上时,显示图像上对应像素点的灰度值,后来查了一些资料,终于将它解决了,现在将这个方法介绍给大家,希望对朋友们有所帮助。 首先声明一个CtoolTipCtrl类的变量,调用Create函数创建工具通用提示,并将它附在CtoolTipCtrl对象上,然后调用CtoolTipCtrl类的AddTool函数注册工具提示控制,从而为光标放在规定的窗口或区域内时显示工具提示做准备。该函数的原形为:BOOL AddTool( CWnd* pWnd,LPCTSTR lpszText, LPCRECT lpRectTool, UINT nIDTOOL );其中pWnd为指向包含工具提示控制的窗口指针,lpszText为所要在工具提示中显示的文字,lpRectTool为工具书提示所对应的窗口或规定区域,nIDTOOL为工具提示的标志号。在调用CtoolTipCtrl类的Active函数激活提示。最后要作的工作是重载工具提示父窗口的WindowPorc函数,调用CtoolTipCtrl类的RelayEvent函数将鼠标消息传递给工具提示控制对象。以在视图区显示对应点的坐标为例,给出了实现代码:// TestView.cpp : implementation of the CTestView class………..//在文件头定义的全局变量CToolTipCtrl m_ToolTip;//工具提示对象char string[50];//用来存放提示文字CRect rect;//用来存放工具提示所对应的窗口的尺寸#define IDC_CONST 12345//定义的工具提示标志号,注意不要和系统冲突void CTestView::OnMouseMove(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default wsprintf(string,"%d,%d",point.x,point.y); GetClientRect(&recty); m_ToolTip.AddTool(this,string,&rect,IDC_CONST); m_ToolTip.Activate(TRUE); CView::OnMouseMove(nFlags, point);} LRESULT CTestView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { // TODO: Add your specialized code here and/or call the base class switch(message) {case WM_LBUTTONDOWN: case WM_RBUTTONDOWN: case WM_MBUTTONDOWN: case WM_LBUTTONUP: case WM_MBUTTONUP: case WM_RBUTTONUP: case WM_MOUSEMOVE: {MSG msg; msg.hwnd=m_hWnd; msg.message=message; msg.wParam=wParam; msg.lParam=lParam; m_ToolTip.RelayEvent(&msg); } } return CView::WindowProc(message, wParam, lParam);} 有帮解释下魔兽局域网搜索器的原理? 正在看《windows核心编程》,求交流的朋友 关于EXE文件的隐藏问题,请大家发表意见,谢谢合作! 一个CDialog对象以一副图片为背景,当在它上面绘动画时,如何恢复图片移动过的区域背景? 库房管理系统 怎样获得html文档中的div中的内容. 各位高手清帮忙。为什么我在Dialog里加入Richedit后,dialog就显示不了了?? 快快进来!!! 谁能用比较通俗的语言解释一下傅里叶变换的原理和目的。 如何解决打开VC的工程出现异常? 一个小问题!!! 我想学widows编程,请问能为我提供好的网站吗?
仔细看看msdn就知道了
初始化:
m_tooltip.Create(this);
m_tooltip.Activate(TRUE);
m_tooltip.AddTool (GetDlgItem(IDC_PLAY), "开始播放");重载PreTranslateMessage
BOOL CMPlayerDlg::PreTranslateMessage(MSG* pMsg)
{
m_tooltip.RelayEvent(pMsg);
return CDialog::PreTranslateMessage(pMsg);
}ok!?
给你一点资料吧,在CView中可以用。CHtmlView中不行,其它的没试。 工具提示控制是一个小窗口,在其中显示单行文字用以描述应用程序中的工具的用途。这里的工具所指的既可以是窗口(如工具栏上的按钮),也可以是一个固定的区域。大家都知道利用APPWIZARD生成 的应用程序中工具栏带有提示,当你将鼠标放在工具栏某一个按钮上时,将显示一个小提示框告诉你按钮的功能,这种功能方便了软件的使用者。但是在视图区如何实现提示,这方面介绍的资料较少,我是在开发一个图像处理程序的时候遇到这个问题,当时我是想当鼠标放在图像上时,显示图像上对应像素点的灰度值,后来查了一些资料,终于将它解决了,现在将这个方法介绍给大家,希望对朋友们有所帮助。 首先声明一个CtoolTipCtrl类的变量,调用Create函数创建工具通用提示,并将它附在CtoolTipCtrl对象上,然后调用CtoolTipCtrl类的AddTool函数注册工具提示控制,从而为光标放在规定的窗口或区域内时显示工具提示做准备。该函数的原形为:BOOL AddTool( CWnd* pWnd,LPCTSTR lpszText, LPCRECT lpRectTool, UINT nIDTOOL );其中pWnd为指向包含工具提示控制的窗口指针,lpszText为所要在工具提示中显示的文字,lpRectTool为工具书提示所对应的窗口或规定区域,nIDTOOL为工具提示的标志号。在调用CtoolTipCtrl类的Active函数激活提示。最后要作的工作是重载工具提示父窗口的WindowPorc函数,调用CtoolTipCtrl类的RelayEvent函数将鼠标消息传递给工具提示控制对象。以在视图区显示对应点的坐标为例,给出了实现代码:// TestView.cpp : implementation of the CTestView class
………..
//在文件头定义的全局变量
CToolTipCtrl m_ToolTip;//工具提示对象
char string[50];//用来存放提示文字
CRect rect;//用来存放工具提示所对应的窗口的尺寸
#define IDC_CONST 12345//定义的工具提示标志号,注意不要和系统冲突
void CTestView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
wsprintf(string,"%d,%d",point.x,point.y);
GetClientRect(&recty);
m_ToolTip.AddTool(this,string,&rect,IDC_CONST);
m_ToolTip.Activate(TRUE);
CView::OnMouseMove(nFlags, point);
}
LRESULT CTestView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
switch(message)
{case WM_LBUTTONDOWN:
case WM_RBUTTONDOWN:
case WM_MBUTTONDOWN:
case WM_LBUTTONUP:
case WM_MBUTTONUP:
case WM_RBUTTONUP:
case WM_MOUSEMOVE:
{MSG msg;
msg.hwnd=m_hWnd;
msg.message=message;
msg.wParam=wParam;
msg.lParam=lParam;
m_ToolTip.RelayEvent(&msg);
}
}
return CView::WindowProc(message, wParam, lParam);
}