bool Slider::OnMouseClick() { if (OnMouseHover() == true) { if (MouseManager::GetInstance()->ButtonPressed(eMouseButtons::eLeft) == true) { if (myIsDraggingKnob == false) { Sound* SoundPtr = SoundFileHandler::GetInstance()->GetSound("ButtonClick"); SoundPtr->SetLooping(false); SoundPtr->PlaySound(); SoundPtr->SetVolume(0.4f); } return true; } else { return false; } } return false; }
void ds::Gui::IController::Invoke( ds::Gui::Event Event ) { if( !m_Component ) return; switch( Event ) { case EventMouseHover: OnMouseHover( m_Component ); break; case EventMouseHoverEnter: OnMouseHoverEnter( m_Component ); break; case EventMouseHoverQuit: OnMouseHoverQuit( m_Component ); break; case EventMouseClickUp: OnMouseClickUp( m_Component ); break; case EventMouseClick: OnMouseClick( m_Component ); break; case EventMouseClickDown: OnMouseClickDown( m_Component ); break; case EventBackgroundTask: m_IsWorking = true; if( !m_Pause && !OnBackgroundTask( m_Component ) ) m_IsWorking = false; break; } }
void SLink::OnMouseMove( UINT nFlags,CPoint pt ) { if(!m_rcText.PtInRect(pt)) { if(m_dwState&WndState_Hover) OnMouseLeave(); } else { if(!(m_dwState&WndState_Hover)) OnMouseHover(nFlags,pt); } }
LRESULT CWin::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { LRESULT lRes = 0; BOOL bHandled = TRUE; switch (uMsg) { case WM_CREATE: lRes = OnCreate(uMsg, wParam, lParam, bHandled); break; case WM_CLOSE: lRes = OnClose(uMsg, wParam, lParam, bHandled); break; case WM_DESTROY: lRes = OnDestroy(uMsg, wParam, lParam, bHandled); break; #if defined(WIN32) && !defined(UNDER_CE) //case WM_NCCREATE: lRes = OnNcCreate(uMsg, wParam, lParam, bHandled); break; case WM_NCMOUSEMOVE: lRes = OnNCMouseMove(uMsg, wParam, lParam, bHandled); break; case WM_NCMOUSELEAVE: lRes = OnNCMouseLeave(uMsg, wParam, lParam, bHandled); break; case WM_NCACTIVATE: lRes = OnNcActivate(uMsg, wParam, lParam, bHandled); break; case WM_NCCALCSIZE: lRes = OnNcCalcSize(uMsg, wParam, lParam, bHandled); break; case WM_NCPAINT: lRes = OnNcPaint(uMsg, wParam, lParam, bHandled); break; case WM_NCHITTEST: lRes = OnNcHitTest(uMsg, wParam, lParam, bHandled); break; case WM_GETMINMAXINFO: lRes = OnGetMinMaxInfo(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEWHEEL: lRes = OnMouseWheel(uMsg, wParam, lParam, bHandled); break; #endif case WM_ERASEBKGND: lRes = OnEraseBkGnd(uMsg, wParam, lParam, bHandled); break; case WM_SIZE: lRes = OnSize(uMsg, wParam, lParam, bHandled); break; case WM_CHAR: lRes = OnChar(uMsg, wParam, lParam, bHandled); break; case WM_SYSCOMMAND: lRes = OnSysCommand(uMsg, wParam, lParam, bHandled); break; case WM_KEYDOWN: lRes = OnKeyDown(uMsg, wParam, lParam, bHandled); break; case WM_KILLFOCUS: lRes = OnKillFocus(uMsg, wParam, lParam, bHandled); break; case WM_SETFOCUS: lRes = OnSetFocus(uMsg, wParam, lParam, bHandled); break; case WM_LBUTTONUP: lRes = OnLButtonUp(uMsg, wParam, lParam, bHandled); break; case WM_LBUTTONDOWN: lRes = OnLButtonDown(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEMOVE: lRes = OnMouseMove(uMsg, wParam, lParam, bHandled); break; case WM_MOUSELEAVE: lRes = OnMouseLeave(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEHOVER: lRes = OnMouseHover(uMsg, wParam, lParam, bHandled); break; case WM_HOTKEY: lRes = OnHotKey(uMsg, wParam, lParam, bHandled); break; // case WM_TIMER: lRes = OnTimer(uMsg, wParam, lParam, bHandled); break;//OnTimer响应有小问题 case WM_MOVING: lRes = OnMoving(uMsg, wParam, lParam, bHandled); break; case WM_SIZING: lRes = OnSizing(uMsg, wParam, lParam, bHandled); break; case WM_SHOWWINDOW: lRes = OnShowWindow(uMsg, wParam, lParam, bHandled); break; case WM_COMMAND: lRes = OnCommand(uMsg, wParam, lParam, bHandled); break; // case WM_PAINT: lRes = OnPaint(uMsg, wParam, lParam, bHandled); break;//OnPaint响应有问题 case WM_MENUCOMMAND: lRes = OnMenuCommand(uMsg, wParam, lParam, bHandled); break; default: bHandled = FALSE; break; } if (bHandled) return lRes; lRes = ProcessWindowMessage(uMsg, wParam, lParam, bHandled); if (bHandled) return lRes; if(_paintManager && _paintManager->MessageHandler(uMsg,wParam,lParam,lRes)) return lRes; return __super::HandleMessage(uMsg,wParam,lParam); }
LRESULT WindowImplBase::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { LRESULT lRes = 0; BOOL bHandled = TRUE; switch (uMsg) { case WM_CREATE: lRes = OnCreate(uMsg, wParam, lParam, bHandled); break; case WM_CLOSE: lRes = OnClose(uMsg, wParam, lParam, bHandled); break; case WM_DESTROY: lRes = OnDestroy(uMsg, wParam, lParam, bHandled); break; case WM_NCACTIVATE: lRes = OnNcActivate(uMsg, wParam, lParam, bHandled); break; case WM_NCCALCSIZE: lRes = OnNcCalcSize(uMsg, wParam, lParam, bHandled); break; case WM_NCPAINT: lRes = OnNcPaint(uMsg, wParam, lParam, bHandled); break; case WM_NCHITTEST: lRes = OnNcHitTest(uMsg, wParam, lParam, bHandled); break; case WM_GETMINMAXINFO: lRes = OnGetMinMaxInfo(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEWHEEL: lRes = OnMouseWheel(uMsg, wParam, lParam, bHandled); break; case WM_SIZE: lRes = OnSize(uMsg, wParam, lParam, bHandled); break; case WM_CHAR: lRes = OnChar(uMsg, wParam, lParam, bHandled); break; case WM_SYSCOMMAND: lRes = OnSysCommand(uMsg, wParam, lParam, bHandled); break; case WM_KEYDOWN: lRes = OnKeyDown(uMsg, wParam, lParam, bHandled); break; case WM_KILLFOCUS: lRes = OnKillFocus(uMsg, wParam, lParam, bHandled); break; case WM_SETFOCUS: lRes = OnSetFocus(uMsg, wParam, lParam, bHandled); break; case WM_LBUTTONUP: lRes = OnLButtonUp(uMsg, wParam, lParam, bHandled); break; case WM_LBUTTONDOWN: lRes = OnLButtonDown(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEMOVE: lRes = OnMouseMove(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEHOVER: lRes = OnMouseHover(uMsg, wParam, lParam, bHandled); break; default: bHandled = FALSE; break; } if (bHandled) { return lRes; } lRes = HandleCustomMessage(uMsg, wParam, lParam, bHandled); if (bHandled) { return lRes; } if (m_PaintManager.MessageHandler(uMsg, wParam, lParam, lRes)) { return lRes; } return CWindowWnd::HandleMessage(uMsg, wParam, lParam); }
LRESULT cOpenGLControl::WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_SETFOCUS: case WM_KILLFOCUS: case WM_ENABLE: Update(); break; case WM_SIZING: case WM_SIZE: UpdateSize(); OnSize(); Update(); break; case WM_PAINT: Paint(); return FALSE; case WM_ERASEBKGND: return TRUE; case WM_MOUSEMOVE: { const int x = int((short)LOWORD(lParam)); const int y = int((short)HIWORD(lParam)); if (!bMouseIn) { TRACKMOUSEEVENT tme; tme.cbSize = sizeof(TRACKMOUSEEVENT); tme.dwFlags = TME_LEAVE | TME_HOVER; tme.hwndTrack = hwnd; tme.dwHoverTime = HOVER_DEFAULT; ::TrackMouseEvent(&tme); OnMouseIn(); bMouseIn = true; } cKeyModifiers modifiers; GetModifiersForMouseEvent(modifiers, wParam); OnMouseMove(x, y, modifiers); } break; case WM_MOUSELEAVE: if (bMouseIn) { OnMouseOut(); bMouseIn = false; } break; case WM_MOUSEHOVER: if (bMouseIn) { const int x = int((short)LOWORD(lParam)); const int y = int((short)HIWORD(lParam)); cKeyModifiers modifiers; GetModifiersForMouseEvent(modifiers, wParam); OnMouseHover(x, y, modifiers); // Reset the track mouse event TRACKMOUSEEVENT tme; tme.cbSize = sizeof(TRACKMOUSEEVENT); tme.dwFlags = TME_LEAVE | TME_HOVER; tme.hwndTrack = hwnd; tme.dwHoverTime = HOVER_DEFAULT; ::TrackMouseEvent(&tme); } break; case WM_LBUTTONDOWN: { const int x = int((short)LOWORD(lParam)); const int y = int((short)HIWORD(lParam)); cKeyModifiers modifiers; GetModifiersForMouseEvent(modifiers, wParam); OnLButtonDown(x, y, modifiers); break; } case WM_LBUTTONUP: { const int x = int((short)LOWORD(lParam)); const int y = int((short)HIWORD(lParam)); cKeyModifiers modifiers; GetModifiersForMouseEvent(modifiers, wParam); OnLButtonUp(x, y, modifiers); break; } case WM_RBUTTONDOWN: { const int x = int((short)LOWORD(lParam)); const int y = int((short)HIWORD(lParam)); cKeyModifiers modifiers; GetModifiersForMouseEvent(modifiers, wParam); OnRButtonDown(x, y, modifiers); break; } case WM_RBUTTONUP: { const int x = int((short)LOWORD(lParam)); const int y = int((short)HIWORD(lParam)); cKeyModifiers modifiers; GetModifiersForMouseEvent(modifiers, wParam); OnRButtonUp(x, y, modifiers); break; } case WM_MBUTTONDOWN: { const int x = int((short)LOWORD(lParam)); const int y = int((short)HIWORD(lParam)); cKeyModifiers modifiers; GetModifiersForMouseEvent(modifiers, wParam); OnMButtonDown(x, y, modifiers); break; } case WM_MBUTTONUP: { const int x = int((short)LOWORD(lParam)); const int y = int((short)HIWORD(lParam)); cKeyModifiers modifiers; GetModifiersForMouseEvent(modifiers, wParam); OnMButtonUp(x, y, modifiers); break; } case WM_LBUTTONDBLCLK: { const int x = int((short)LOWORD(lParam)); const int y = int((short)HIWORD(lParam)); cKeyModifiers modifiers; GetModifiersForMouseEvent(modifiers, wParam); OnDoubleClick(x, y, modifiers); break; } case WM_MOUSEWHEEL: { POINT pt; pt.x = LOWORD(lParam); pt.y = HIWORD(lParam); if (::ScreenToClient(hwnd, &pt) == TRUE) { cKeyModifiers modifiers; GetModifiersForMouseEvent(modifiers, wParam); OnMouseWheel(pt.x, pt.y, short(HIWORD(wParam)), modifiers); } break; } case WM_KEYDOWN: case WM_SYSKEYDOWN: if ((lParam & 0x40000000) == 0) { cKeyEvent event; event.key = wParam; event.modifiers.bControl = ((::GetKeyState(VK_CONTROL) & 0x8000) != 0); event.modifiers.bAlt = ((::GetKeyState(VK_MENU) & 0x8000) != 0); event.modifiers.bShift = ((::GetKeyState(VK_SHIFT) & 0x8000) != 0); OnKeyDown(event); } break; case WM_KEYUP: case WM_SYSKEYUP: if ((lParam & 0x40000000) == 0) { cKeyEvent event; event.key = wParam; event.modifiers.bControl = ((::GetKeyState(VK_CONTROL) & 0x8000) != 0); event.modifiers.bAlt = ((::GetKeyState(VK_MENU) & 0x8000) != 0); event.modifiers.bShift = ((::GetKeyState(VK_SHIFT) & 0x8000) != 0); OnKeyUp(event); } break; } return DefWindowProc(hwnd, uMsg, wParam, lParam); }
LRESULT KItemEventMgr::EventItemProc(UINT uMsg, WPARAM wParam, LPARAM lParam) { float fX = (float)(GET_X_LPARAM(lParam)); float fY = (float)(GET_Y_LPARAM(lParam)); switch(uMsg) { case WM_LBUTTONDOWN: OnMouseEnterOrLeave(fX, fY, false); return OnLButtonDown(fX, fY); case WM_LBUTTONUP: OnMouseEnterOrLeave(fX, fY, false); return OnLButtonUp(fX, fY); case WM_LBUTTONDBLCLK: OnMouseEnterOrLeave(fX, fY, false); return OnLButtonDBClick(fX, fY); case WM_RBUTTONDOWN: OnMouseEnterOrLeave(fX, fY, false); return OnRButtonDown(fX, fY); case WM_RBUTTONUP: OnMouseEnterOrLeave(fX, fY, false); return OnRButtonUp(fX, fY); case WM_RBUTTONDBLCLK: OnMouseEnterOrLeave(fX, fY, false); return OnRButtonDBClick(fX, fY); case WM_MBUTTONDOWN: OnMouseEnterOrLeave(fX, fY, false); return OnMButtonDown(fX, fY); case WM_MBUTTONUP: OnMouseEnterOrLeave(fX, fY, false); return OnMButtonUp(fX, fY); case WM_MBUTTONDBLCLK: OnMouseEnterOrLeave(fX, fY, false); return OnMButtonDBClick(fX, fY); case WM_MOUSEHOVER: OnMouseEnterOrLeave(fX, fY, false); return OnMouseHover(fX, fY); case WM_MOUSEMOVE: OnMouseEnterOrLeave(fX, fY, false); return OnMouseMove(fX, fY); case WND_M_MOUSE_ENTER: { int nX = 0; int nY = 0; g_pUI->m_Pointer.GetCursorPos(nX, nY); fX = (float)nX; fY = (float)nY; OnMouseEnterOrLeave(fX, fY, false); } break; case WND_M_REFRESH_TIP: if (m_pLastMouseOverItem) { g_pUI->m_Script.FireItemEvent(m_pLastMouseOverItem, "OnItemRefreshTip"); } break; case WND_M_MOUSE_LEAVE: OnMouseEnterOrLeave(0.0f, 0.0f, true); break; case WM_MOUSEWHEEL: { OnMouseEnterOrLeave(fX, fY, false); int nRet = OnFireMouseWheelEvent(-(GET_Y_LPARAM(wParam)) / WHEEL_DELTA, fX, fY); OnMouseEnterOrLeave(fX, fY, false); return nRet; } break; case WM_KEYDOWN: case WM_SYSKEYDOWN: return OnFireKeyDownEvent(wParam); break; case WM_KEYUP: case WM_SYSKEYUP: return OnFireKeyUpEvent(wParam); break; } return FALSE; }
//-------------------------------------------------------------------------------- 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; }
LRESULT WindowImplBase::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { LRESULT lRes = 0; BOOL bHandled = TRUE; CPoint pt; switch (uMsg) { case WM_CREATE: lRes = OnCreate(uMsg, wParam, lParam, bHandled); break; case WM_CLOSE: lRes = OnClose(uMsg, wParam, lParam, bHandled); break; case WM_DESTROY: lRes = OnDestroy(uMsg, wParam, lParam, bHandled); break; #if defined(WIN32) && !defined(UNDER_CE) case WM_NCACTIVATE: lRes = OnNcActivate(uMsg, wParam, lParam, bHandled); break; case WM_NCCALCSIZE: lRes = OnNcCalcSize(uMsg, wParam, lParam, bHandled); break; case WM_NCPAINT: lRes = OnNcPaint(uMsg, wParam, lParam, bHandled); break; case WM_NCHITTEST: lRes = OnNcHitTest(uMsg, wParam, lParam, bHandled); break; case WM_GETMINMAXINFO: lRes = OnGetMinMaxInfo(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEWHEEL: { pt.x = GET_X_LPARAM( lParam ); pt.y = GET_Y_LPARAM( lParam ); lRes = OnMouseWheel(uMsg,GET_KEYSTATE_WPARAM(wParam),GET_WHEEL_DELTA_WPARAM(wParam),pt,bHandled); break; } #endif case WM_SIZE: lRes = OnSize(uMsg, wParam, lParam, bHandled); break; case WM_CHAR: lRes = OnChar(uMsg, wParam, lParam, bHandled); break; case WM_SYSCOMMAND: lRes = OnSysCommand(uMsg, wParam, lParam, bHandled); break; case WM_KEYDOWN: { lRes = OnKeyDown( uMsg,wParam, lParam&0xff, lParam>>16 ,bHandled); break; } case WM_KEYUP: { lRes = OnKeyUp(uMsg, wParam, lParam&0xff, lParam>>16,bHandled ); break; } case WM_SYSKEYDOWN: { lRes=OnSysKeyDown(uMsg,wParam,lParam&0xff,lParam>>16,bHandled); break; } case WM_SYSKEYUP: { lRes=OnSysKeyUp(uMsg,wParam,lParam&0xff,lParam>>16,bHandled); break; } case WM_KILLFOCUS: lRes = OnKillFocus(uMsg, wParam, lParam, bHandled); break; case WM_SETFOCUS: lRes = OnSetFocus(uMsg, wParam, lParam, bHandled); break; case WM_LBUTTONUP: lRes = OnLButtonUp(uMsg, wParam, lParam, bHandled); break; case WM_LBUTTONDOWN: lRes = OnLButtonDown(uMsg, wParam, lParam, bHandled); break; case WM_RBUTTONDOWN: { lRes = OnRButtonDown(uMsg,wParam,lParam,bHandled); break; } case WM_RBUTTONUP: { lRes = OnRButtonUp(uMsg,wParam,lParam,bHandled); break; } case WM_MOUSEMOVE: { pt.x = GET_X_LPARAM( lParam ); pt.y = GET_Y_LPARAM( lParam ); lRes = OnMouseMove(uMsg, wParam, pt, bHandled); break; } case WM_MOUSEHOVER: { lRes = OnMouseHover(uMsg, wParam, lParam, bHandled); break; } #if(WINVER >= 0x0601) case WM_TOUCH: { UINT cInputs = LOWORD(wParam); HTOUCHINPUT hTouchInput=(HTOUCHINPUT)lParam; lRes = OnTouch(uMsg, cInputs, hTouchInput, bHandled); //If the application does not process the message, it must call DefWindowProc if (lRes==FALSE) { ::DefWindowProc(*this,uMsg,wParam,lParam); } break; } #endif #if(WINVER >= 0x0602) case WM_POINTERUP: { lRes = OnPointerUp(uMsg,wParam,lParam,bHandled); break; } case WM_POINTERDOWN: { lRes = OnPointerDown(uMsg,wParam,lParam,bHandled); break; } #endif default: { bHandled = FALSE; break; } } if (bHandled) { return lRes; } lRes = HandleCustomMessage(uMsg, wParam, lParam, bHandled); if(bHandled) { return lRes; } if (m_PaintManager.MessageHandler(uMsg, wParam, lParam, lRes)) { return lRes; } return CWindowWnd::HandleMessage(uMsg, wParam, lParam); }
void Slider::Update(float) { SetAllKnobs(ConvertValueToPosition()); ProgressGet(); if (myIsDraggingKnob == true) { MouseManager::GetInstance()->SetInteractiveMode(eInteractive::eRegular); myKnob = myKnobPressed; if (MouseManager::GetInstance()->GetPosition().x > mySlider->GetPosition().x + mySlider->GetSize().x - 0.058f) { myValue = 1.0f; SetAllKnobs(ConvertValueToPosition()); } else if (MouseManager::GetInstance()->GetPosition().x < mySlider->GetPosition().x) { myValue = 0.0f; SetAllKnobs(ConvertValueToPosition()); } else { myKnob->SetPosition({ MouseManager::GetInstance()->GetPosition().x, myKnob->GetPosition().y }); myValue = ConvertPositionToValue(MouseManager::GetInstance()->GetPosition().x); SetAllKnobs(ConvertValueToPosition()); } } else if (myIsHoveringKnob == true && myIsDraggingKnob == false) { myKnob = myKnobHovered; MouseManager::GetInstance()->SetInteractiveMode(eInteractive::eActive); } else { myKnob = myKnobRegular; } if (OnMouseClick() == true) { myIsDraggingKnob = true; // do drag stuff } else { // stop dragging myIsDraggingKnob = false; } if (OnMouseHover() == true) { myIsHoveringKnob = true; } else { if (myIsHoveringKnob == true) { MouseManager::GetInstance()->SetInteractiveMode(eInteractive::eRegular); } myIsHoveringKnob = false; } SliderSpecificUpdate(); ProgressSet(); }
/* 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 ; }