MCPcopy Create free account
hub / github.com/CobaltFusion/DebugViewPP / OnMouseMove

Function OnMouseMove

Libraries/TabbingFramework/CustomTabCtrl.h:1371–1555  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1369 }
1370
1371 LRESULT OnMouseMove(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& bHandled)
1372 {
1373 bHandled = FALSE;
1374
1375 DWORD dwStyle = this->GetStyle();
1376 POINT ptCursor = {GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)};
1377
1378 T* pT = static_cast<T*>(this);
1379 if(ectcMouseInWindow != (m_dwState & ectcMouseInWindow))
1380 {
1381 TRACKMOUSEEVENT tme = { 0 };
1382 tme.cbSize = sizeof(tme);
1383 tme.dwFlags = TME_LEAVE;
1384 tme.hwndTrack = m_hWnd;
1385 if( _TrackMouseEvent(&tme) )
1386 {
1387 m_dwState |= ectcMouseInWindow;
1388
1389 pT->UpdateLayout();
1390 this->Invalidate();
1391
1392 // "OnMouseEnter"
1393 //...
1394 }
1395 }
1396
1397 if( (m_iDragItem >= 0) &&
1398 (ectcMouseInWindow == (m_dwState & ectcMouseInWindow)) &&
1399 (ectcDraggingItem != (m_dwState & ectcDraggingItem)) &&
1400 (ectcMouseDownL_TabItem == (m_dwState & ectcMouseDown)) &&
1401 (m_ptDragOrigin.x != ptCursor.x))
1402 {
1403 pT->BeginItemDrag(m_iDragItem, m_ptDragOrigin);
1404 }
1405 else if(ectcDraggingItem == (m_dwState & ectcDraggingItem))
1406 {
1407 pT->ContinueItemDrag(ptCursor);
1408 }
1409 else if(ectcMouseInWindow == (m_dwState & ectcMouseInWindow))
1410 {
1411 // hit test
1412 if(::PtInRect(&m_rcCloseButton, ptCursor))
1413 {
1414 if( ectcMouseOver_CloseButton != (m_dwState & ectcMouseOver))
1415 {
1416 this->ClearCurrentMouseOverTracking(true);
1417 m_dwState |= ectcMouseOver_CloseButton;
1418
1419 if(ectcMouseDownL_CloseButton == (m_dwState & ectcMouseDown))
1420 {
1421 this->InvalidateRect(&m_rcCloseButton);
1422 }
1423 }
1424 else if( 0 == (m_dwState & ectcMouseDown) &&
1425 ectcHotTrack_CloseButton != (m_dwState & ectcHotTrack))
1426 {
1427 this->ClearCurrentHotTracking(true);
1428 m_dwState |= ectcHotTrack_CloseButton;

Callers

nothing calls this directly

Calls 2

UpdateLayoutMethod · 0.80
GetItemRectMethod · 0.80

Tested by

no test coverage detected