谁知道MESSAGE方法用来响应动态分派的消息,请做一个有输出的结果例子即时结分!

解决方案 »

  1.   

    是不是这样的结果:
    ...
    const WM_SEC = WM_USER + 200;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
        procedure WMSec(var Msg: TMessage); message WM_SEC;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}{ TForm1 }procedure TForm1.WMSec(var Msg: TMessage);
    begin
      if Msg.Msg = WM_SEC then MessageBox(self.Handle, '已收到WM_SEC消息!', '提示', mb_IconInformation + mb_Ok);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      self.Perform(WM_SEC, 0, 0);
    end;
      

  2.   

    weizi2000(秋风啊-秋的叹息) :老兄,你做的是对的,但是和提示框有什么区别呢?
                               还有那种从程序右下角弹出的又是如何做的呢?
      

  3.   

    你关注他的MessageBox干什么,你要的不是响应消息的机制么?
    WM_Sec是用户自定义的消息类型,点击bt1后发送Wm_Sec消息给form1,form1响应这个WM_Sec消息的过程就是procedure TForm1.WMSec(var Msg: TMessage);
      

  4.   

    发送用户消息结束程序unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;
    const wm_myMessgage=wm_user+1001;
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
        procedure MyMessage(var msg:TMessage);message wm_myMessgage;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}{ TForm1 }procedure TForm1.MyMessage(var msg: TMessage);
    begin
      Application.Terminate;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      SendMessage(handle,wm_myMessgage,0,1);
    end;end.