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;
}
Example #2
0
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;
    }
}
Example #3
0
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);
    }
}
Example #4
0
	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);
	}
Example #5
0
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);
}
Example #6
0
  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);
  }
Example #7
0
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;
}
Example #8
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;
	}
	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();
}
Example #11
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 ;
}