控制Form不能放大、缩小、移动、关闭

1、把 Form 的BorderIcons 下的几个子属性值全改为 False;
2、修改 Form 的BorderStyle 的值为bsSingle ;
3、为了让窗口不能移动

可以自已拦下 WM_NCHITTEST 消息

对该消息的处理为:一概回应鼠标点在窗口的 Client 区域
相信这个视窗就呆呆的不会动了。
详情可以查一下 Win32API Help 的 CreateWindow() 与 WM_NCHITTEST 的说明。
下面是一个例子

请参考看看:

private
{ Private declarations }
procedure WMNCHitTest(var Msg: TMessage); message WM_NCHITTEST;

public
{ Public declarations }
end;

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Close; // 不可少因为不加此行只有用Alt+F4才能关闭此窗口了
end;

procedure TForm1.WMNCHitTest(var Msg: TMessage);
begin
  inherited; // 这样移动就不可能了...
  Msg.Result := HTCLIENT;
end;

end.

posted @ 2004-06-07 10:53  Delphi编程驿站,网络交流的空间站!  阅读(1001)  评论(0)    收藏  举报