Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

Re: Ist ein deaktivierter Button nicht wirklich deaktiviert?

  Alt 12. Aug 2008, 14:49
Zitat von taaktaak:
Seltsam, gibt es da so etwas wie einen "Mausklickpuffer" der automatisch geleert wird, wenn der Button wieder aktiviert wird?
Jeder Prozess hat seine eigene Message Warteschlange.
Solange der Prozess keine Windows Messages aus der Warteschlange entgegennimmt, bleiben alle Mausklicks und Tasteneingaben gespeichert.
Hier zwei Funktionen, um alle Mausklicks und Tasteneingaben zu entfernen:
Delphi-Quellcode:
function ClearKeyboardBuffer:Integer;
var
   Msg: TMsg;
begin
   Result := 0;
   while PeekMessage(Msg, 0, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE) do
      Inc(Result);
end;
function ClearMouseBuffer:Integer;
var
   Msg: TMsg;
begin
   Result := 0;
   while PeekMessage(Msg, 0, WM_MOUSEFIRST, WM_MOUSELAST, PM_REMOVE) do
      Inc(Result);
end;
Andreas
  Mit Zitat antworten Zitat