Abfragen ob Maus geklickt ist



  • Hi,
    programmiere n PocketPC mit Windows Mobile 5.0 in C++ und suche eine Funktion, die mir sagt ob der Touchscreen grade gedrückt wird.
    Grundsätzlich funktioniert Touchscreen genauso wie die Maus am Desktop PC.
    Aber die normalen Maus Events helfen mir nicht weiter. WM_MOUSEMOVE kriegt man nur, wenn bewegt wird. Ich möchte aber alle 50ms abfragen, ob noch gedrückt wird und wo.

    Ich hab nach allem möglichen gesucht und finde nur Mouse.GetState() für C# 😡

    Da muss es doch auch was für C++ geben.
    Danke euch.



  • beim abschicken des Beitrags ist mir die Lösung eingefallen.

    Bei WM_LBUTTONUP einen Timer starten
    Bei WM_MOUSEMOVE die letzte Position aktualisieren
    Bei WM_LBUTTONUP den Timer stoppen

    Bei WM_TIMER die kiste rappeln lassen.

    Aber man muss das doch trotzdem irgendwie abfragen können?



  • Tip: GetAsyncKeyState(VK_LBUTTON)); (Taste gedrück?) und GetCursorPos() (Position des Mauszeigers).



  • Mauszeiger hab ich ausprobiert. War neu für mich und hab es nicht hinbekommen. So ein PDA hat doch keinen Mauszeiger, oder kann man den doch implementieren wenn man nur will? Ich habs nich geschafft.

    GetAsyncKeyState <--- Aaahhh!! Ok gut. Danke.
    Aber muss man auch drauf kommen, dass man nach Keyboard inputs googlen sollte um seine Maus abzufragen.



  • Grittz schrieb:

    So ein PDA hat doch keinen Mauszeiger, oder kann man den doch implementieren wenn man nur will? Ich habs nich geschafft.

    Wenn du eine Maus hast, hast du auch einen Mauszeiger, der seine Position anzeigt 😉 (und wenn sich Windows nur intern merkt, wo du zuletzt auf den Touch-Screen gedrückt hast)

    Aber muss man auch drauf kommen, dass man nach Keyboard inputs googlen sollte um seine Maus abzufragen.

    Wenn du lange genug programmierst, suchst du deine Funktionen nicht mehr - da bleiben wichtige Kandidaten irgendwo im Gehirn hängen 😃

    PS: Sorry, den Teil mit "PocketPC" hatte ich vorhin überlesen.


  • Mod

    Du kannst Dirauch überlegen SetCapture zu verwenden!
    In diesem Fall bekommst Du 100% auch den UP Event geliefert!
    In diesem Fall ist es nicht notwendig mit einem Timer zu arbeiten. SetCapture wird deshalb auch für die Drag&Drop Funktionen verwendet!


Anmelden zum Antworten