lbsoft:留个mail,代码我给你寄过去

解决方案 »

  1.   

    非常简单:
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;type
      TForm1 = class(TForm)
      private
        { Private declarations }
        procedure test(var Msg:TMessage);message wm_syscommand;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.test(var Msg:TMessage);
    begin
      if Msg.wParam=SC_CLOSE then
         Form1.Hide //你需要的处理
      else
         inherited;end;end.
      

  2.   

    疏忽,最小化时Msg.wParam=SC_MINIMIZE就行了
      

  3.   

    >procedure test(var Msg:TMessage);message wm_syscommand;
      
    比较标准的做法是将函数命名为  wmsyscommand
    procedure wmsyscommand(var Msg:TMessage);message wm_syscommand;
      

  4.   

    tull(WilliamTull)说得对,虽然我只是随便写几行代码测试一下,但也的确应该按命名规范
    来做,我准备马上发个贴子来讨论一下,忘各位捧场,100分哦
      

  5.   

    gz_xjf(thinker)回答的很全面,我当时也是这么做的.
      

  6.   

    大家都讲得如此好啦,: lbsoft(lbsoft) 我就不寄了。大家原理都一样。
      

  7.   

    放一个applicationEvent控件就行了,里面有关闭,最小化的事件。何必那么麻烦!