如何知道鼠标进入及离开CHtmlView(或它的子类)?

简介: 如何知道鼠标进入及离开CHtmlView(或它的子类)?

如何知道鼠标进入及离开CHtmlView(或它的子类)?

(一),新建一个单文档工程HtmlCtrl,视图类基于CHtmlView。

(二),在#include <afxwin.h>前,加一行代码#define   _WIN32_WINNT   0x0400

(三),在CHtmlCtrlView中增加一个成员变量:bool m_bMouseOver,并在构造函数中赋初值为false。

(四),重写CHtmlCtrlView::PreTranslateMessage函数,代码如下:

BOOL CHtmlCtrlView::PreTranslateMessage(MSG* pMsg)
{
 if( WM_MOUSEMOVE == pMsg->message )
 {  
  if(!m_bMouseOver)  
  {  
   TRACE(_T("Mouse   enter/n"));  
   m_bMouseOver   =   TRUE;  
   TRACKMOUSEEVENT   tme;  
   tme.cbSize   =   sizeof(tme);  
   tme.dwFlags   =   TME_HOVER   |   TME_LEAVE;  
   tme.hwndTrack   =   pMsg->hwnd;  
   tme.dwHoverTime   =   HOVER_DEFAULT;  
   ::TrackMouseEvent(&tme);  
  } 
 }
 else if( WM_MOUSELEAVE == pMsg->message )
 {  
  TRACE(_T("Mouse   Leave!/n"));  
  m_bMouseOver   =   FALSE;  
 }
 return CHtmlView::PreTranslateMessage(pMsg);
}


相关文章
|
7月前
|
UED
如何理解鼠标点击事件在程序中的处理
如何理解鼠标点击事件在程序中的处理
101 0
|
7月前
关于实现点击父元素点击后显示子元素,但点击子元素不消失的方法(阻止事件传递)
关于实现点击父元素点击后显示子元素,但点击子元素不消失的方法(阻止事件传递)
54 0
C#利用委托实现命令按钮跨窗体控制
C#利用委托实现命令按钮跨窗体控制
132 0
Activity添加进入和退出动画的两种方式,解决黑色区域问题
Activity添加进入和退出动画的两种方式,解决黑色区域问题
C#编程学习19:mdi窗体中子窗体不能重复打开的三种实现方式
C#编程学习19:mdi窗体中子窗体不能重复打开的三种实现方式
C#编程学习19:mdi窗体中子窗体不能重复打开的三种实现方式
|
Windows
WindowFocusListener窗体焦点监听器
WindowFocusListener窗体焦点监听器
283 0
WindowFocusListener窗体焦点监听器
|
C#
WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件
原文:WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件 在WPF中,只有鼠标位置在某个控件上的时候才会触发该控件的鼠标事件。例如,有两个控件都注册了MouseDown和MouseUp事件,在控件1上按下鼠标,不要放开,移动到控件2上再放开。
2330 0
|
C#
C#引用CefSharp并屏蔽鼠标右键和禁止拖动放置事件
原文:C#引用CefSharp并屏蔽鼠标右键和禁止拖动放置事件 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013564470/article/details/78339957 ...
4270 0

热门文章

最新文章