ahava的价格:delphi 问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 03:29:34
在delphi中怎样禁止用鼠标改变窗体大小的大小

可以通过设置窗体的属性以及编程的方法,限制和控制窗体的变化。如让窗体不能最小化、最大化.
-----
1.通过属性设置方法
使用Form的BorderIcon属性,我们可设置窗体是否具有系统菜单(biSystemMenu)、最小化按钮(biMinimize)、最大化按钮(biMaximize)和帮助按钮(biHelp)。
BorderIcon属性的这4个子属性均只有True和False属性。默认情况下四个子属性均为True。若将biSystemMenu属性设置为False,则不管其他属性如何设置,窗体此时不仅没有系统菜单,连最大最小按钮也没有,窗体不能最小化,也不能关闭。不管如何设置BorderIcon属性,窗体都能通过拖动边界来改变大小。
使用Form的BorderStyle属性,可以设置窗体的边界风格。常用的选项有四种:BsDialog(对话框边界)、bsNone(无边界)、bsSingle(单线边界)和bsSize(可改变大小的标准边界)。如果设置BorderStyle属性为BsDialog,则不能通过拖动边界来改变窗体大小,另外如果此时BorderIcon的biHelp子属性为True,窗体将显现出帮助按钮。如果设置BorderStyle属性为bsSingle,也不能通过拖动边界来改变窗体大小,但此时具有最大、最小和关闭按钮.

2.通过截获调整窗体大小的消息来实现
type
TForm1 = class(TForm)
private
{ Private declarations }
public
//截获调整窗体大小的系统消息WM_EXITSIZEMOVE
procedure WMEXITSIZEMOVE(var Message: TMessage);message WM_EXITSIZEMOVE;
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
procedure TForm1.WMEXITSIZEMOVE(var Message: TMessage);
begin
Caption := '禁止窗体调整和移动';
end;