![]() |
Auftreten von Ereignissen konrollieren
Hallo,
ich möchte das Auftreten von Maus und Tastaturereignissen prüfen, auf deren Auftreten ja standardmäßig nicht gewartet wird. Wie müsste ich da zum Beispiel das Auftreten der Ereignisse von der WinAPI-Funktion GetMessage testen. Mein Ansatz:
Delphi-Quellcode:
Dies ist nur ein Beispiel für den Aufbau des Tests, wie ich ihn halt bisher gebaut habe. Ist das so richtig?
procedure TestGetMessage;
var mymsg: TMsg; begin if GetMessage(msg,0,0,0) then case mymsg of WM_KEYDOWN: ConfirmMessage(mymsg); WM_KEYUP: ConfirmMessage(mymsg); end; end; Ich sehe nämlich gerade in Luckies WinApi-Tutorial, dass die Nachrichtenschleife so aussieht:
Delphi-Quellcode:
Wie aber kann ich dann testen, ob die Message wirklich ankommt?
//Hauptprogramm:
begin while GetMessage(mymsg,0,0,0) do begin end; end. . |
AW: Auftreten von Ereignissen konrollieren
Bei GetMessage bekommst du nur Messages, die per PostMessage verschickt wurden.
SendMessage wird direkt innerhalb von GetMessage verarbeitet. Dort mommst du nur per Hook ran. (SetWindowsHookEx) Zum Glück sind Tastaturereigniosse fast immer PostMessage. Natürlich darfst du nicht vergessen alle anderen Messages (ELSE) zu verarbeiten (TranslateMessage und DispatchMessage), oder willst du alles Andere wirklich wegwerfen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz