TMsg 对应于Windows的消息队列的一个结构, 是一个完整的消息数据包;
TMessage 相当于对 TMsg的一个简化版本, 它将PostMessage, SendMessage时所需要的参数包含在一个Packed Record,以简化调用。

解决方案 »

  1.   

    musicwind兄:那什么时候要用TMSG什么时候用TMESSAGE呢?
      

  2.   


    一般而言,不太用到TMsg,因为Delphi的底层已经作了这方面的工作;
    而TMessage,则主要是处理Windows消息的时候用到,比如:
    TWinControl的控件有个默认的消息处理过程WndPorc,定义如下:
    procedure TWincontrol.WndProc( var Message: TMessage);
    begin
      //处理你自己的消息
      inherited; //缺省处理
    end;而更常见的是
      TForm1 = Class(TForm)
      ...
      private
        procedure DealMyMessage(var Message: TMessage); message WM_MYMESSAGE;
      END;  //处理自己定义的消息或者WINDOWS消息;
     要说清楚很难,因为我的水平实在有限啊
     自己多看看Delphi的源代码,肯定有好处.
      

  3.   

    一般在API中用的是TMsg, 还有Application.OnMessage也是,
    而在delphi的消息事件中基本都是TMessage.
      

  4.   

    《Delphi 5开发人员指南》 中对此有相当详细的论述。
      

  5.   

    我就是因为看了《DELPHI5开发人员指南》才会问的。