delphi
编程技巧
源代码在线查看: 如何在 delphi 中把 form 控制成不能放大缩小移.txt
如何在 Delphi 中把 Form 控制成不能放大/缩小/移动/关闭? (2000年12月20日)
本站更新 分类: 作者:srw 推荐: 阅读次数:623
(http://www.codesky.net)
--------------------------------------------------------------------------------
如何在 Delphi 中把 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;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
Close; // 不可少, 因为已经使用者已经没有其他方法关闭此窗口了
end;
procedure TForm1.WMNCHitTest(var Msg: TMessage);
begin
inherited;
// 这样,移动就不可能了...
Msg.Result := HTCLIENT;
end;
end.
--------------------------------------------------------------------------------