Announcement

Collapse
No announcement yet.

Auf MausDown warten?

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

  • Auf MausDown warten?

    Hallo!

    Ich schreibe einen Skatsimulator. Dazu muß ich irgendwann auf die <b>Kartenauswahl</b><br>
    des menschlichen Spielers <b>warten</b>, die per <b>Maus</b> erfolgt.
    Wie kann ich also innerhalb einer Prozedur den Ablauf des Programms anhalten, <br>
    bis der OnMousedown"-Event die Karte auswählt?

    Fange gerade mit Windows an, unter DOS war das schöne einfach *g*!

    Vielen Dank im voraus,

    Nils

  • #2
    Hallo Nils,

    die Ereignissteuerung von Windows ist von vornherein darauf ausgelegt "zu warten" und nur auf bestimmte Ereignisse - also auch Benutzeraktionen - zu reagieren.
    Du brauchst also keinen speziellen Source zu implementieren um "zu warten". Du schreibst Deinen Code für das entsprechende Ereignis (z.B. OnMouseDown) und fertig. Das Formular wird automatisch "warten" und erst wenn ein Ereignis eintritt für das Du einen Code hinterlegt hast entsprechend reagieren.

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hi Falk!

      Ne, das meinte ich nicht. Eine eigene Prozedur benötigt dringend Mausgesteuerte Eingaben. Die Behandlungtsroutine im OnMouseDown habe ich schon. Bloß weiß
      ich nicht, wie ich meine Prozedur auf das Ereignis warten lassen soll!

      Habe folgendes probiert, hängt sich aber in der REPEAT-Schleife auf.

      PROCEDURE MyProzedur(..);
      BEGIN
      CASE Bezeichner OF
      1 : BEGIN
      MouseClicked := False;
      Maus_Anwendung := 1;
      //Hier lege ich die verschiedenen Maus-Bezüge fest-> Anwendungen
      REPEAT UNTIL MouseClicked //Im OnMouseDown wird zugewiesen
      END;
      END;
      END;

      Wahrscheinlich ist das wenig elegant, aber bin neu in OOP und Windows.

      Gruß,

      Nil

      Comment


      • #4
        Hallo Nils,<br>versuch's mal mit<br>
        Repeat<br>
        Application.ProcessMessages;<br>
        Until MouseClicked;<br>
        Innerhalb der Repeat-Schleife sorgt Application.ProcessMessages dafür, das Botschaftswarteschlange abgearbeitet wird. <br>:-) Jens Schuman

        Comment


        • #5
          SUPER!

          Das war's <freu>, Vielen Dank!!

          cu,

          Nil

          Comment

          Working...
          X