Einzelnen Beitrag anzeigen

Benutzerbild von hazard999
hazard999

Registriert seit: 2. Okt 2008
38 Beiträge
 
#18

Re: Befehlsverarbeitung unter Delphi

  Alt 6. Mär 2009, 11:07
Gut.

Dann schlage ich folgendes Code-Schnipsel vor:

Delphi-Quellcode:
procedure ProcessSomeMessages;
var sMessage: string;
   mess: TMSG;
   Handled: boolean;
begin
   sMessage := '';

   while PeekMessage(mess, 0, 0, 0, Pm_Remove) do
   begin
      TranslateMessage(mess);
      case mess.message of
         WM_KEYDOWN: sMessage := sMessage + 'killed WM_KEYDOWN ';
         WM_KEYUP: sMessage := sMessage + 'killed WM_KEYUP ';
         WM_MOUSEMOVE: sMessage := sMessage + 'killed WM_MOUSEMOVE ';
         WM_LBUTTONDOWN: sMessage := sMessage + 'killed WM_LBUTTONDOWN ';
         WM_LBUTTONUP: sMessage := sMessage + 'killed WM_LBUTTONUP ';
         WM_RBUTTONDOWN: sMessage := sMessage + 'killed WM_RBUTTONDOWN ';
         WM_RBUTTONUP: sMessage := sMessage + 'killed WM_RBUTTONUP ';
         WM_MBUTTONDBLCLK: sMessage := sMessage + 'killed WM_MBUTTONDBLCLK ';
         WM_RBUTTONDBLCLK: sMessage := sMessage + 'killed WM_RBUTTONDBLCLK ';
         WM_LBUTTONDBLCLK: sMessage := sMessage + 'killed WM_LBUTTONDBLCLK ';
         WM_NCLBUTTONDOWN: sMessage := sMessage + 'killed WM_NCLBUTTONDOWN ';
         WM_TIMER: sMessage := sMessage + 'killed WM_TIMER ';
      else
         Handled := false;

         if Assigned(Application.OnMessage) then
            Application.OnMessage(mess, Handled);

         if not Handled then
            DispatchMessage(mess);
      end;
   end;
end;

weil tb_Load_ElementsClick mehrfach auszuführen weil irgendwer wie wild auf den Button drückt ist denke ich auch nicht das was er will...
  Mit Zitat antworten Zitat