求助: 一个关于WM_MOUSELEAVE映射的问题.我的程序中有多个控件中响应些消息.如何使它们之间不相互影响.

hxblvc 2004-09-30 10:42:39
我在做一个图形化界面的程序.

自己自绘的按钮中响应了WM_MOUSELEAVE消息.

由于主窗口在MOUSE移开时也要进行一些处理

所以在主窗口(这个窗口中含有我自绘的按钮)也响应了WM_MOUSELEAVE消息.

但是,出现的问题是:
按钮中的WM_MOUSELEAVE消息会被它所在的主窗口中的 OnMouseLeave 函数响应到.
我想问的就是: 如何才可以让按钮中发出的WM_MOUSELEAVE,只被按钮自己的
OnMouseLeave 响应,不会在让其它窗口的 OnMouseLeave 响应.
...全文
85 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
try876 2004-09-30
  • 打赏
  • 举报
回复
你在按钮类的OnMouseLeave()里面不要调用基类的函数,或者把消息的LPRESULT设为true,
这样可能可以
hxblvc 2004-09-30
  • 打赏
  • 举报
回复
to: Gr177
可不可以说细一点,谢谢
hxblvc 2004-09-30
  • 打赏
  • 举报
回复
谢谢你们回答.

to happyparrot: 你的这个方法我没试过,不太明白你这样做的用意.

to laiyiling: 我这样做了.可是有点不对.
LRESULT CButtonST::OnMouseLeave( HWND hwnd, UINT msg, ... )
{
if(this->m_hWnd == hwnd)
{ /*当MOUSE移开按钮时,程序不会进入这个里*/ };
}

to DentistryDoctor: 但是我做的时候,主窗口的确响应到了,按钮的这个事件.
Gr177 2004-09-30
  • 打赏
  • 举报
回复
或许可以使用消息反弹机制,然后判断是哪个按钮需要做出响应……
DentistryDoctor 2004-09-30
  • 打赏
  • 举报
回复
只要按钮类响应了,主窗口就不会响应的。
Kudeet 2004-09-30
  • 打赏
  • 举报
回复
让他们同时响应,在其它窗口的 OnMouseLeave 响应函数里判断是谁发出的mouseleave消息。
快乐鹦鹉 2004-09-30
  • 打赏
  • 举报
回复
做个按钮类的子类,专门处理mouseleave事件
hxblvc 2004-09-30
  • 打赏
  • 举报
回复
搞定.结贴.

谢谢大家.
nwpulipeng 2004-09-30
  • 打赏
  • 举报
回复
帮顶混分

15,979

社区成员

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

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