控制form不能放大、缩小、移动、关闭.txt

来自「大量Delphi开发资料」· 文本 代码 · 共 104 行

TXT
104
字号
控制Form不能放大、缩小、移动、关闭



1、把 Form 的BorderIcons 下的几个子属性值全改为 False;

2、修改 Form 的BorderStyle 的值为bsSingle ;

3、为了让窗口不能移动

可以自已拦下 WM_NCHITTEST 消息

对该消息的

处理为:一概回应鼠标点在窗口的 Client 区域

相信这个视窗就呆呆的不会动了。

详情可以查一下 Win32API Help 的 CreateWindow() 与 WM_NCHITTEST 的说明。

下面是一个例子

请参考看看:

unit Unit1;

interface

uses

Windows

Messages

SysUtils

Classes

Graphics

Controls

Forms

Dialogs


StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

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.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?