receive.pas

来自「罗小平<<delphi精要>>一书源码」· PAS 代码 · 共 56 行

PAS
56
字号
unit Receive;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    ID: DWORD;   
    procedure NewOnMessage(var Msg: TMsg; var Handled: Boolean);
  protected
    procedure WndProc(var Message: TMessage); override;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.NewOnMessage(var Msg: TMsg; var Handled: Boolean);
begin
  if Msg.message = ID then
  begin
    ShowMessage('应用程序收到消息');
    Handled := True;
  end;
end;     


procedure TForm1.FormCreate(Sender: TObject);
begin
  Caption := '接受者';
  ID := RegisterWindowMessage(PChar('OneOfAppMessage')); 
  Application.OnMessage := NewOnMessage; 
end;

procedure TForm1.WndProc(var Message: TMessage);
begin
  inherited;
  with Message do if Msg = ID then
  begin
    ShowMessage('主窗体收到消息');
    Result := 0;
  end
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?