大家都知道,form的BorderIcons有biMinimize的按钮,就是窗口最小化的按钮。我现在想在窗口最小话的时候实现一些功能,该怎么实现(在哪个地方写功能),好像没有一个OnMinimize的事件,请教一下。
    还有,我想窗口最小化的时候不在任务栏里面显示(已经实现在系统托盘显示),该怎么做哦?请各位不吝赐教,先谢谢了。

解决方案 »

  1.   

    Application.OnMinimize := 某事件;在那个事件中进行处理,如主窗口.visible:=False;等等
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
    Application.OnMinimize:= button1.onClick;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    showmessage('000000');
    end;end.当最小化时提出'00000'与你的要示是一样 的
      

  3.   

    恩,明白了,看了另一个帖子里面提到了用WMSyscommand和IsIconic(handle)已经成功了。
    那么最小化的时候不在任务栏显示呢?
      

  4.   

    自己写了个
    procedure WMSysCommand(var Message:TWMSysCommand);message wm_syscommand;//过程申明procedure TForm1.WMSysCommand(var message:TWMSysCommand);
    begin
      inherited;
      if IsIconic(Application.Handle) = true then
      begin
          if IsWindowVisible(Application.Handle) then //不会在任务栏显示了
            ShowWindow(Application.Handle,SW_HIDE);
      end;
    end;