Announcement

Collapse
No announcement yet.

Point-Werte +/- X?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Point-Werte +/- X?

    Hallo, ich weiß nicht genau wie ich das Thema nennen sollte, bitte also nicht wundern.

    Es geht um folgendes:
    Ich rufe mit Hilfe von getcoursorpos die Position des Mauszeigers innerhalb von Windows ab. Bewegt sich der Zeiger eine bestimmte Zeit nicht, soll ein Klick ausgelöst werden. Dienlich soll das für die Benutzung einer Kopfmaus sein, da aufgrund von eingeschränkter Handmotorik keine normale Maus genutzt werden kann. Das klicken soll dann das Programm übernehmen. Das funktioniert auch alles wunderbar, nur ein Problem hab ich. Die Maus muss in meinem derzeitigen Code genau auf der Stelle bleiben um einen klick aus zu lösen.

    Wie schaff ich es also, ein bestimmtes "Feld" an zu geben, in dem sich die Maus verschieben darf um trotzdem einen klick aus zu lösen?

    Mein bisheriger Code:

    Code:
    private void timer2_Tick(object sender, EventArgs e)
            {
                GetCursorPos(ref MousePoint);
    
                if (timer1.Enabled != true)
                {
                    if (MousePoint == MousePoint2)
                    {
                        if (MousePoint == MousePoint2)
                        {
                            timer1.Start();
                        }
                        else
                        {
                            timer1.Stop();
                        }
                    }
                }
                else
                {
                    if (MousePoint != MousePoint2)
                    {
                        timer1.Stop();
                        if (MousePoint != MousePoint2)
                        {
                            timer1.Stop();
    GetCursorPos(ref MousePoint2);                    
    }
                     }
                }
                
            }
    Timer2 löst alle 100ms um zu schauen, wo die Maus sich befindet. Sollte bei der Überprüfung klar sein, dass nach 100ms die maus noch gleich ist, wird timer1 ausgelöst, der sofern sich die maus immernoch nicht geändert hat nach der vorgegebenen zeit auslöst.
    Jetzt möcht ich eben, das der Wert von Mousepoint2 z.B. +/- 20 Pixel abweichen darf. Ist das Möglich!?

    Danke schonmal für die Antworten!

    Ciao Chris

  • #2
    Dann wird wohl Timer 2 die Position irgendwo speichern müssen, die Timer 1 auslesen kann und +/- 20 prüfen kann...bsp. in einer Klassenvariable
    Christian

    Comment


    • #3
      Das mit den geschachtelten Timern kommt mir sehr kompliziert gedacht vor. Ist das was du eigentlich vor hast nicht eher ein Fall für einen MouseHook?

      Comment

      Working...
      X