Exemple #1
0
		/** 
		* @brief Process mouse dragging events. 
		* @param mousePt Screen position of mouse.
		*/
		void MouseDragging(const Point2D& mousePt) { MouseLeftDown(mousePt); return; }
LRESULT CALLBACK CoreWindow::WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch (msg)
    {
    case WM_ACTIVATE:							// Watch For Window Activate Message
    {
        // LoWord Can Be WA_INACTIVE, WA_ACTIVE, WA_CLICKACTIVE,
        // The High-Order Word Specifies The Minimized State Of The Window Being Activated Or Deactivated.
        // A NonZero Value Indicates The Window Is Minimized.
        //if ((LOWORD(wParam) != WA_INACTIVE) && !((BOOL)HIWORD(wParam)))
        //	m_isActive=true;						// Program Is Active
        //else
        //	m_isActive=false;						// Program Is No Longer Active
        return 0;								// Return To The Message Loop
    }

    case WM_ERASEBKGND:
        return 0;

    case WM_DESTROY:
        return 0;
    case WM_CLOSE:
        PostQuitMessage(0);
        return 0;

    case WM_PAINT:
    {
        if (m_inited)
            Draw();
        break;
    }
    case WM_SIZE:
    {
        resize(LOWORD(lParam),HIWORD(lParam));
        break;
    }

    case WM_LBUTTONDOWN:
        SetCapture(hWnd);
        MouseLeftDown(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
        break;
    case WM_LBUTTONUP:
        MouseLeftUp(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
        ReleaseCapture();
        break;
    case WM_RBUTTONDOWN:
        SetCapture(hWnd);
        MouseRightDown(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
        break;
    case WM_RBUTTONUP:
        MouseRightUp(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
        ReleaseCapture();
        break;
    case WM_MBUTTONDOWN:
        SetCapture(hWnd);
        MouseMiddleDown(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
        break;
    case WM_MBUTTONUP:
        MouseMiddleUp(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
        ReleaseCapture();
        break;
    case WM_MOUSEMOVE:
        MouseMove(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
        break;

    case WM_KEYDOWN:
        KeyDown(wParam);
        break;
    case WM_KEYUP:
        KeyUp(wParam);
        break;

    case WM_SYSCOMMAND:							// Intercept System Commands
    {
        switch (wParam)							// Check System Calls
        {
        case SC_SCREENSAVE:					// Screensaver Trying To Start?
        case SC_MONITORPOWER:				// Monitor Trying To Enter Powersave?
            return 0;							// Prevent From Happening
        }
        break;
    }


    }

    return DefWindowProc(hWnd, msg, wParam, lParam);
}
Exemple #3
0
		/** 
		* @brief Process mouse left button float click events. 
		* @param mousePt Screen position of mouse.
		* @return True if view is processing the event, else false.
		*/
		void MouseLeftDblClick(const Point2D& mousePt) { MouseLeftDown(mousePt); }