修复duilib-移动鼠标到Button不能变成手型

你在使用的duilib的时候,用到Button控件,发现移动鼠标到上面还是标准的箭头,无法变成手型抓取的样子。

官方duilib下载:https://github.com/duilib/duilib

原因我不知道为啥,因为看到下载的duilib的demo里面,鼠标移动到上面的时候都变成手型了,自己写项目的时候发现,自己的项目里duilib的鼠标不会变了,然后去找解决办法了。

解决办法

在UIButton.cpp里UIEVENT_MOUSEMOVE的事件的响应里加上一句代码就好了

if( event.Type == UIEVENT_MOUSEMOVE )
        {
            ::SetCursor(::LoadCursor(NULL, MAKEINTRESOURCE(IDC_HAND)));
            if( (m_uButtonState & UISTATE_CAPTURED) != 0 ) {
                if( ::PtInRect(&m_rcItem, event.ptMouse) ) m_uButtonState |= UISTATE_PUSHED;
                else m_uButtonState &= ~UISTATE_PUSHED;
                Invalidate();
            }
            return;
        }

加上是 ::SetCursor(::LoadCursor(NULL, MAKEINTRESOURCE(IDC_HAND)));

就好了!

有什么问题欢迎留言询问,我会及时做出解答。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值