相关分类 VC技巧 ->VC ->VCShare

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

关键字 鼠标 进入 离开CHtmlView

如何知道鼠标进入及离开CHtmlView(或它的子类)?
(一),新建一个单文档工程HtmlCtrl,视图类基于CHtmlView。
(二),在#include 前,加一行代码#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);
}




上一篇:SetCapture可能影响快捷键
下一篇:先按ctrl再按A和先按A再按ctrl一样吗?
[置顶] 如何给多维数组赋初值

 

1;