Пример #1
0
	//--------------------------------------------------------------------------------
	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;
	}
Пример #2
0
/*
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 ;
}