Mausnachrichten kurzzeitig deaktivieren
-
Hallo!
Also ich habe das Problem, dass wenn ich einen Button ganz schnell hintereinander antippe, dann werden meinem Windowsfenster dementsprechend viele "Mausklicknachrichten" geschickt!
Das passiert auch, wenn gerade eine Message abgearbeitet wird, die weitere Messages schickt. Ich möchte einfach, dass wenn die Message aufgerufen wird meine Maus "deaktiviert" wird, also dass sie keine Messages mehr schicken kann, erst wenn meine Hauptmessage fertig ist, soll die Maus wieder aktivert werden.Ich könnte das auch unterdrücken, wenn ich am Anfang der Hauptmessage eine MessageBox öffne, dann werden alle Mausklicks zu dieser Messagebox geschickt und mein Hauptprogramm bokommmt von diesen Klicks nichts mit! Aber das ist doof, also dieses Einblenden der MessageBox!
Versteht ihr, was ich meine? Also einfach die Maus davon abhalten Messages fürs Klicken auf z.B. Buttons zu schicken.
Dankeschön!
-
DisableWindow...
-
So eine Funktion kenn ich leider nicht, auch kann ich z.B. in der MSDN dazu nichts finden und mein Compiler gibt mir auch keine "Tipps" zu den Parametern!
Trotzdem Dankeschön!
-
Lösch doch einfach am Ende der Prozedur alle aufgelaufenden Mausnachrichten also sehr grob:
while peekmessage(msg,wm_mouse_min,wm_mouse_max,pm_remove)do{}Oder treten während der 'Hauptmessage' noch weitere relevante Nachrichten auf ?
Dann Flag setzen und alle Mausereignisse bei gesetztem Flag verwerfen.
-
-
Hey, "Lui" und "flenders", eure Antworten sind beide klasse!
Dankeschön!
Ich benutze jetzt die Variante von Lui!