如何批量为按钮添加鼠标离开事件?

xcluii xcluii 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现一个窗体上有许多按钮或其他控件,都要增加对鼠标离开事件的响应,什么样的方式才是最好的?

不要用Timer,和SetCapture。

我用的方法是替换每个控件的WinProc,如下:

void __fastcall TFormHintMsg::FormCreate(TObject *Sender)
{
Btn1->WindowProc = Proc1;
Btn2->WindowProc = Proc2;
Btn3->WindowProc = Proc3;
... ...
}
void __fastcall TFormHintMsg::Proc1(TMessage &message)
{
if(message.Msg == CM_MOUSEENTER)
{
//
}
if(message.Msg == CM_MOUSELEAVE)
{
//
}
Btn1->Dispatch(&message);
}
void __fastcall TFormHintMsg::Proc2(TMessage &message)
{
//
Btn2->Dispatch(&message);
}
....


...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部