博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为窗口添加鼠标HOVER和LEAVE事件
阅读量:4005 次
发布时间:2019-05-24

本文共 1120 字,大约阅读时间需要 3 分钟。

因为鼠标的进入和离开不是一个标准的window事件,所以要手动添加代码,先建一个OnMouseMove事件,再手动添加OnMouseLeave和OnMouseHover事件,分别在OnMouseMove事件的下面。

/*************************************************************************/

 afx_msg void OnMouseMove(UINT nFlags, CPoint point);

 afx_msg LRESULT OnMouseLeave(WPARAM wParam, LPARAM lParam);
 afx_msg LRESULT OnMouseHover(WPARAM wParam, LPARAM lParam);

/*************************************************************************/

BEGIN_MESSAGE_MAP(CTButton, CButton)

 ON_WM_MOUSEMOVE()
 ON_MESSAGE(WM_MOUSELEAVE, OnMouseLeave)
 ON_MESSAGE(WM_MOUSEHOVER, OnMouseHover)
END_MESSAGE_MAP()

/*************************************************************************/

void
 CTButton::OnMouseMove(UINT nFlags, CPoint point)
{
    TRACKMOUSEEVENT tme;
    tme.cbSize 
=   sizeof (tme);
    tme.hwndTrack 
=  m_hWnd;
    tme.dwFlags 
=  TME_LEAVE  |  TME_HOVER;
    tme.dwHoverTime 
=   1 ;
    ::TrackMouseEvent(
& tme);            
    CButton::OnMouseMove(nFlags, point);
}
LRESULT CTButton::OnMouseLeave(WPARAM wParam, LPARAM lParam)
{    
    SetWindowText(
" 鼠标离开 " );
    
return   0 ;
}
LRESULT CTButton::OnMouseHover(WPARAM wParam, LPARAM lParam)
{
    SetWindowText(
" 鼠标进来 " );
    
return   0 ;
}

转载地址:http://thwfi.baihongyu.com/

你可能感兴趣的文章
git 常用命令
查看>>
linux位操作API
查看>>
snprintf 函数用法
查看>>
uboot.lds文件分析
查看>>
uboot start.s文件分析
查看>>
没有路由器的情况下,开发板,虚拟机Ubuntu,win10主机,三者也可以ping通
查看>>
本地服务方式搭建etcd集群
查看>>
安装k8s Master高可用集群
查看>>
忽略图片透明区域的事件(Flex)
查看>>
忽略图片透明区域的事件(Flex)
查看>>
AS3 Flex基础知识100条
查看>>
Flex动态获取flash资源库文件
查看>>
flex中设置Label标签文字的自动换行
查看>>
Flex 中的元数据标签
查看>>
flex4 中创建自定义弹出窗口
查看>>
01Java基础语法-11. 数据类型之间的转换
查看>>
01Java基础语法-13. if分支语句的灵活使用
查看>>
01Java基础语法-15.for循环结构
查看>>
01Java基础语法-16. while循环结构
查看>>
01Java基础语法-17. do..while循环结构
查看>>