Windows Messages ignorieren



  • Hallo.

    Ich habe ein Problem mit Windows messages.

    Mein kleines Prog/Spiel hat 2 CPU Gegner. Sobald die am Zug sind, ich aber mit der
    Mouse auf Aktionsfelder klicke, werden die ausgeführt, sobald der Spieler (Ich) wieder am Zug ist.
    Das ist unschön, denn wenn ich 5x (aus versehen) klicke, dann bin ich ca 3-5
    Runden nicht dran, weil er die Aktionen ausführt die das angeklickte Feld hergibt.

    Hab es mit Nachrichten Filter versucht, das haut aber nicht hin. Entweder bearbeitet er keine oder trotzdem alle.

    Vielen Dank für Hinweise zur Lösung.



  • Aktionsfelder zeitweise sperren?

    Statusvariablen einführen und Reaktion auf Nachricht dadurch beeinflussen (if(!comp_am_zug){...})?



  • Das mit dem if(Comp am Zug)
    hab ich schon probiert, klappt nicht. Der Speichert ja die Nachrichten und arbeitet Sie nach und nach ab...
    Die Felder zu sperren wäre machbar ist aber imo keine sehr elegante Lösung....



  • BlockInput



  • BlockInput klingt sehr gut...

    Brauch ich dafür einen Header? Laut meiner WinApiDoc nicht, aber sobald ich BlockInput einsetze, habe ich einen nichtdeklarierten Bezeichner...



  • gefunden....sollte

    #include <winable.h>

    sein....

    PS: Danke für BlockInput()



  • hmm....Doch nicht zufriedenstellend.

    Leider wird durch BlockInput() auch die Mausbewegung blockiert. D.h. der Cursor hängt. Nicht sehr fein.

    Hat jemand eine Lösung? Oder läuft es daruf hinaus, daß alle Ereignisfelder (rect) zeitweise gesperrt oder auf 0 gesetzt werden muessen?


Anmelden zum Antworten