你在使用的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)));
就好了!
有什麼問題歡迎留言詢問,我會及時做出解答。