怎么使一个窗体总是在其它窗体的最前面,使用WIN+D也不使其最小化,请指教!

解决方案 »

  1.   

    能不能最小化我就不会了,不过我想可以捕获最小化事件,下面是窗体置前的代码,不过没有控制最小化情况
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure FormCreate(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    var temp:integer;
    begin
      systemparametersinfo(spi_screensaverrunning,1,@temp,0);
      //限制功能键
      formstyle:=fsstayontop;
      windowstate:=wsmaximized;
    end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    var temp:integer;
    begin
     systemparametersinfo(spi_screensaverrunning,0,@temp,0);//取消对功能键的限制
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    close;
    end;end.
      

  2.   

    楼上的方法并没限制到啊.我试了(WinXPsp2+D6sp2)
      

  3.   

    win + D有什么消息没? 要是有 拦截下来,应该行