hellion(你好)
那么它为什么要用peekmessage(...)呢?而且还要TranslateMessage()和DispatchMessage(?),敬请回复   

解决方案 »

  1.   

    要处理窗口消息,否则程序象死了一样。其实这样更简洁:
    procedure Mysleep(icount:dword);
    var
      nowcount:dword;
      lmsg:MSG;
    begin
      nowcount:=Gettickcount();
      while(Gettickcount()-nowcount<icount) do
        Applicaiton.ProcessMessages;
    end;
      

  2.   

    peekmessage从消息队列中取出消息
    translatemessage转换信息
    dispatchmessage向下分发消息他们三个组合起来,实现对界面的响应。其实用一句application.processmessages即可
    你不妨去看看 application.processmessages 的源码