OnKeyDown, OnLButtonDown, OnMButtonDown, OnRButtonDown --> INPUT_RECORD



  • Hallo,

    ich muss alle Tastatur- sowie alle Mauseingaben abfangen.
    Jede Eingabe (Taste oder Mausklick) muss in die obengenannte
    Struktur überführt werden.

    Aber wie bekomme ich die benötigten Informationen aus den mir
    zur Verfügung stehenden Parametern raus ?

    OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
    OnLButtonDown(UINT nFlags, CPoint point);
    OnMButtonDown(UINT nFlags, CPoint point);
    OnRButtonDown(UINT nFlags, CPoint point);
    

    Bisher habe ich folgendes:

    void CMyView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
    {
        PINPUT_RECORD pInputRec = new INPUT_RECORD;
    
        pInputRec->EventType = KEY_EVENT;
        pInputRec->Event.KeyEvent.bKeyDown             = TRUE;
        pInputRec->Event.KeyEvent.wRepeatCount         = nRepCnt;
        pInputRec->Event.KeyEvent.wVirtualKeyCode      = nChar;
        pInputRec->Event.KeyEvent.wVirtualScanCode     = 0;       // ????
        pInputRec->Event.KeyEvent.uChar.AsciiChar      = nChar;
        pInputRec->Event.KeyEvent.dwControlKeyState    = 0;       // ????
    
        // Zeiger auf die Struktur in einer Liste speichern, darum hier nicht löschen,
        // wird nach dem Auslesen aus der Liste gelöscht
    
        CView::OnKeyDown(nChar, nRepCnt, nFlags);
    }
    

    Ist das so richtig ?
    Aber was ist mit wVirtualScanCode und dwControlKeyState ???
    Kann mir bitte jemand helfen ?

    Danke



  • kann mir wirklich niemand helfen ? 😞
    es ist wirklich dringend...

    das ganze ist für eine Fernsteuerungssoftware gedacht,
    die Gegenseite will es eben in diesem Format haben (INPUT_RECORD).



  • geh mal auf
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/key_event_record_str.asp, da steht was zu deinen beide variablen. könnte dir vielleicht weiterhelfen.



  • Hallo Red Skall,
    danke für die Antwort, aber ich gucke grundsätzlich immer zuerst in
    der MSDN nach... und daraus bin nicht halt nicht schlauer geworden.
    Der Zusammenhang "MFC SDI - INPUT_RECORD" wird nicht erläutert.

    Hoffe mir kann trotzdem jemand helfen


Anmelden zum Antworten