修復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)));

就好了!

有什麼問題歡迎留言詢問,我會及時做出解答。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章