學習 Message(6): 也能夠直接覆蓋祖先類的 WndProc 或 Dispatch 方法來響應消息


覆蓋: WndProc
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
  protected
    procedure WndProc(var Message: TMessage); override;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WndProc(var Message: TMessage);
begin
  inherited;
  if Message.Msg = WM_LBUTTONDOWN then
    ShowMessage('WndProc');
end;

end.

覆蓋: Dispatch
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
  public
    procedure Dispatch(var Message); override;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Dispatch(var Message);
begin
  inherited;
  if TMessage(Message).Msg = WM_LBUTTONDOWN then
    ShowMessage('Dispatch');
end;

end.
posted on 2008-10-25 12:32  萬一  閱讀( 2940)  評論( 1編輯  收藏
相關文章
相關標籤/搜索