Duilib 鼠標在某控件例如按鈕上懸停后,對目標控件操作


其實對WM_MOUSEHOVER消息的處理,因為WindowImplBase基類中對此消息未處理,所以在自己的窗口類中實現:

.h文件中加入

1 LRESULT OnMouseHover( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );

.cpp文件加入實現

 1 LRESULT CLoginWnd::OnMouseHover( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
 2 {
 3     POINT pt = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) };
 4     CControlUI* pHover = m_PaintManager.FindControl(pt);
 5     if( pHover == NULL ) return 0;
 6     /*演示懸停在下載列表的圖標上時,動態變換下載圖標狀態顯示*/
 7     if(pHover->GetName() == _T("testbtn"))
 8     {
 9         MessageBox(NULL, _T("鼠標在某控件例如按鈕上懸停后,對目標控件操作,這里改變了狀態圖標大小"), _T("DUILIB DEMO"), MB_OK);
10         ((CButtonUI *)pHover)->ApplyAttributeList(
11             _T("normalimage=\"file='downlist_pause.png' dest='15,9,32,26'\""));                
12     }
13     return 0;
14 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM