Mausgrenze



  • Hallo,

    bewegt man die Maus zu einem Fensterrand , ist der
    gelieferte Wert für X und Y immer MAX oder MIN des Fensterbereiches.

    Ich benötige eine vom Fenster unabhängige Position, in der Form
    das ich die Differenz zur Vorherigen Mausposition Bilde.

    Bisher habe ich in meiner Anwendung DirectX dazu verwendet.

    Gibt es eine Möglichkeit, auf die Ticks der Maus oder anderen
    RAW -Daten zuzugreifen, ohne DirectX zb. Ähnlich den Joysticks
    über die alte MCI Schnittstelle auszulesen.

    Danke für Hinweise
    Karsten Schulz



  • Mußt Du zeitnahe den Cursor selber verwalten durch rücksetzen:-(

    mouse_event(MOUSEEVENTF_ABSOLUTE + MOUSEEVENTF_MOVE,m_lastpt.x,m_lastpt.y,0,0);



  • nope, das mußt Du so machen:

    case WM_MOUSEMOVE:
    		    {
    				POINT MousePos;
    				::GetCursorPos(&MousePos); 
    				if((Bu=LOWORD(wparam)))
    				{
    					int mid_x(cx >> 1),mid_y(cy >> 1); 
    					float angle_y,angle_z;
    
    					::SetCursorPos(mid_x, mid_y);
    
    					angle_y = (float)( (mid_x - MousePos.x) ) / 100;
    					angle_z = (float)( (mid_y - MousePos.y) ) / 100;
    
    					TRACE("%0.3f:0.3f\n",angle_y,angle_z);
    				}
    		    }
    

Anmelden zum Antworten