Button鼠标放上去时,图片改变,如何实现?

假正经的班长 2011-09-27 08:49:40
如题,我想实现这样一种效果,当鼠标放到BitmapButton按钮上时按钮图片变化,不知道该如何实现,我试着重载了WM_MOUSEMOVE,但是貌似这个函数只有当鼠标在空白区域时才触发,当鼠标位于按钮上根本不触发。所以这个办法行不通,大家有没有什么方法能实现那个效果呢?
...全文
462 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
BrillianceRen 2011-09-29
  • 打赏
  • 举报
回复
应该是响应MouseMove消息吧
  • 打赏
  • 举报
回复
补一句就是Windows默认 窗口是不处理鼠标进出事件的,你得自己注册。
很多看起来很牛叉的Tooltip都是这么做然后显示一个自己自定义的窗口(比如网络游戏中那些Tooltip)
  • 打赏
  • 举报
回复
TrackMouseEvent,先用这个API告诉OS你要注册鼠标进出事件。
然后在你的Windows过程中响应WM_MOUSEHOVER / WM_MOUSELEAVE
详细的看这里:
http://msdn.microsoft.com/en-us/library/ms646265%28v=VS.85%29.aspx
假正经的班长 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 cjqpker 的回复:]
如题,我想实现这样一种效果,当鼠标放到BitmapButton按钮上时按钮图片变化,不知道该如何实现,我试着重载了WM_MOUSEMOVE,但是貌似这个函数只有当鼠标在空白区域时才触发,当鼠标位于按钮上根本不触发。所以这个办法行不通,大家有没有什么方法能实现那个效果呢?
[/Quote]

谢谢,那岂不是要重载按钮类,原本图片就有四张,加上放上去改变的,就要有5张了?
「已注销」 2011-09-27
  • 打赏
  • 举报
回复


看看是不是在你的鼠标移动事件里面对图片的加载没有改变 导致鼠标事件是响应了 但是都是一张图片来回变动??


gameslq 2011-09-27
  • 打赏
  • 举报
回复
参考下看看自绘 按钮 的实现代码
quwei197874 2011-09-27
  • 打赏
  • 举报
回复
WM_MouseHover
WM_mouseLeave

响应这两个消息
ywwj5858792qd 2011-09-27
  • 打赏
  • 举报
回复
WM_MouseHover
WM_mouseLeave

网上查这两个消息
尘缘udbwcso 2011-09-27
  • 打赏
  • 举报
回复
CBitmapButton::AutoLoad()
用户 昵称 2011-09-27
  • 打赏
  • 举报
回复
在按钮的mousemove中试试。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧