//-------------------------------------------------------------------------------- bool CPointerController::ProcessMessage( COSWindow& Window, Cmp_long_ptr& lResult, unsigned int uMsg, Cmp_uint_ptr wParam, Cmp_long_ptr lParam ) { _WINQ_FCONTEXT( "CPointerController::ProcessMessage" ); bool bProcessed = ProcessHook( Window, lResult, uMsg, wParam, lParam ); switch ( uMsg ) { case COSWindow::wmMouseMove: { OnMouseMove( Window, wParam, lParam ); lResult = 0; bProcessed = true; } break; case COSWindow::wmLButtonDown: { OnLButtonDown( Window, wParam, lParam ); lResult = 0; bProcessed = true; } break; case COSWindow::wmLButtonUp: { OnLButtonUp( Window, wParam, lParam ); lResult = 0; bProcessed = true; } break; case COSWindow::wmLButtonDblClk: { OnLButtonDblClk( Window, wParam, lParam ); lResult = 0; bProcessed= true; } break; case COSWindow::wmRButtonDown: { OnRButtonDown( Window, wParam, lParam ); lResult = 0; bProcessed = true; } break; case COSWindow::wmRButtonUp: { OnRButtonUp( Window, wParam, lParam ); lResult = 0; bProcessed = true; } break; case COSWindow::wmRButtonDblClk: { OnRButtonDblClk( Window, wParam, lParam ); lResult = 0; bProcessed= true; } break; case COSWindow::wmMButtonDown: { OnMButtonDown( Window, wParam, lParam ); lResult = 0; bProcessed = true; } break; case COSWindow::wmMButtonUp: { OnMButtonUp( Window, wParam, lParam ); lResult = 0; bProcessed = true; } break; case COSWindow::wmMButtonDblClk: { OnMButtonDblClk( Window, wParam, lParam ); lResult = 0; bProcessed= true; } break; #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) case COSWindow::wmMouseWheel: { OnMouseWheel( Window, wParam, lParam ); lResult = 0; bProcessed = true; } break; #endif case COSWindow::wmCaptureChanged: { COSWindow::refType refWindow = COSWindow::FromHandle( CWindowHandle( 0, (void*)(lParam) ).Ref() ); OnCaptureChanged( Window, refWindow ); lResult = 0; bProcessed = true; } break; #if((_WIN32_WINNT >= 0x0400) || (WINVER >= 0x0500)) case COSWindow::wmMouseHover: { OnMouseHover( Window, wParam, lParam ); lResult = 0; bProcessed = true; } break; case COSWindow::wmMouseLeave: { OnMouseLeave( Window ); lResult = 0; bProcessed = true; } break; #endif } return bProcessed; }
/* void WLTreeItemAL::GetRectInHost(LPRECT lpRect) { ASSERT(lpRect != NULL) ; if (lpRect == NULL) return ; m_pParent->GetRectInHost(lpRect) ; // 树节点的左右边界和父一样 //lpRect->left += m_ptTopLeftInParent.x ; lpRect->top += m_ptTopLeftInParent.y ; //lpRect->right = lpRect->left + m_szClient.cx ; lpRect->bottom = lpRect->top + m_szClient.cy ; } */ BOOL WLTreeItemAL::OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT * pResult) { BOOL bRes = FALSE ; *pResult = 0 ; switch (message) { case WM_NOTIFY : { LPNMWLHDR pNMWLHDR = (LPNMWLHDR)lParam ; switch (pNMWLHDR->code) { case TIN_HEIGHT_CHANGED : OnNotifyChildItemHeightChanged(pNMWLHDR, pResult) ; bRes = TRUE ; break ; } } break ; case WM_LBUTTONDOWN : case WM_LBUTTONDBLCLK : { OnLButtonDown(wParam, CPoint(lParam)) ; bRes = TRUE ; } break ; case WM_LBUTTONUP : { OnLButtonUp(wParam, CPoint(lParam)) ; bRes = TRUE ; } break ; case WM_RBUTTONDOWN : { OnRButtonDown(wParam, CPoint(lParam)) ; bRes = TRUE ; } break ; case WM_RBUTTONUP : { OnRButtonUp(wParam, CPoint(lParam)) ; bRes = TRUE ; } break ; case WM_MOUSEHOVER : { OnMouseHover() ; bRes = TRUE ; } break ; case WM_MOUSEMOVE : { OnMouseMove(wParam, CPoint(lParam)) ; bRes = TRUE ; } break ; case WM_MOUSELEAVE : { OnMouseLeave() ; bRes = TRUE ; } case WM_CAPTURECHANGED : { OnCaptureChanged(HWL(lParam)) ; bRes = TRUE ; } break ; } return bRes ; }