找了几个办法,但都是窗体不可移动后,关闭按钮也不可用了!有办法解决吗?

解决方案 »

  1.   

    截获WM_SYSCOMMAND消息进行处理。
      

  2.   

    自己放一个关闭按钮,再将Form的FormStyle设置为fsNone
    也就是不要用它本身的关闭按钮;
      

  3.   

    好像只能用截获消息了
    点关闭不关闭,DELPHI里有事件可以实现
    关注
      

  4.   

    以下是我测试通过的代码  完全能符合你的要求 呵呵 为了你的分真不容易呀~~~!unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Edit1: TEdit;
        procedure FormCreate(Sender: TObject);
        procedure wndproc(var message:tmessage);override;
      private    { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.wndproc(var message: tmessage);
    beginif message.Msg=WM_SYSCOMMAND then
      if message.WParam=61458 then
         exit;
    inherited;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
    form1.BorderStyle :=bsdialog;
    end;end.
      

  5.   

    楼主需要窗体不移动,直接将Form的BorderStyle设置为bsNone(前面写错了,搞成FormStyle了),如果需要关闭窗体,在窗体上防止一Button,设置OnClick事件为
    Self.Close;
    就可以了
      

  6.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    form1.BorderStyle :=bsdialog;
    end;这句可以不要..