Application.OnMessage只能处理用perform或者用postmessage发送的消息,对sendmessage发的消息无法处理,在一本书上讲了这个问题的,叫Delphi 5开发者指南吧,价格是138,封皮是金黄色的,非常厚的那本

解决方案 »

  1.   

    直接捕捉主窗口的最小化消息嘛!
    如:
    type
      TForm1 = class(TForm)
        Label1: TLabel;
        Label2: TLabel;
      private
        procedure WMSize(var Message: TWMSize); message WM_SIZE;
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}{ TForm1 }procedure TForm1.WMSize(var Message: TWMSize);
    begin
      Label1.Caption := IntToStr(Form1.Width);
    end;
      

  2.   

    Application.OnMinimize

    我是用WM_NCLBUTTONDOWN,然后判断Message.HitTest=HTREDUCE,这就是按了最小化按钮