请问如何让窗体控件随窗体最大化而改变,还有如何让最大化键无效?

Jerry529 2002-05-17 12:57:27
谢谢!!!
...全文
80 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Billy_Chen28 2002-05-17
  • 打赏
  • 举报
回复
对不起,错了一点
EnableMenuItem(mnu,SC_MAXIMIZE,MF_BYCOMMAND+MF_DISABLED+MF_GRAYED);
Billy_Chen28 2002-05-17
  • 打赏
  • 举报
回复
使最大化按钮变灰:
var mnu: HMENU;
begin
mnu := GetSystemMenu(Handle, False);
EnableMenuItem(mnu,SC_CLOSE,MF_BYCOMMAND+MF_DISABLED+MF_GRAYED);
end;
procedure TForm1.FormCreate(Sender: TObject);
var mnu: HMENU;
begin
mnu := GetSystemMenu(Handle, False);
DeleteMenu(mnu, SC_MAXIMIZE, MF_BYCOMMAND);
end;
ping2000 2002-05-17
  • 打赏
  • 举报
回复
1.编程实现,让控件大小随窗体大小成比例缩放;

2.设置窗体的BorderIcons=>bimaximize为false
或者编程实现:form1.BorderIcons:=[];
lizhenjia 2002-05-17
  • 打赏
  • 举报
回复
1.应该在窗体的onresize事件中重画控件的大小
2。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
private
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMSysCommand;
begin
if (Msg.CmdType = SC_MAXIMIZE) then
msg.Msg:=WM_NULL;
inherited;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

end.
FlyingQQ 2002-05-17
  • 打赏
  • 举报
回复
哦,错了,是Bordericons,不是BorderStyle!
lizhenjia 2002-05-17
  • 打赏
  • 举报
回复
1.应该在onresize事件里重新算控件的大小!
2.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
private
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMSysCommand;
begin
if (Msg.CmdType = SC_MAXIMIZE) then
msg.Msg:=WM_NULL;
inherited;
end;

end.

dancemaple 2002-05-17
  • 打赏
  • 举报
回复
把窗体里面的各控件的Anchors属性的四个都设置为True。如果只想左固定,就只设置alLeft为True,以此类推

去掉窗体的最大化按钮:设置窗体的BorderIcons属性,把其中的biMaxmize设置为False
FlyingQQ 2002-05-17
  • 打赏
  • 举报
回复
将窗体的BorderStyle里面的biMaximize设为false就可以让最大化键无效!
bear_c 2002-05-17
  • 打赏
  • 举报
回复
让最大化无效:form1.bordericons := [biSystemMenu,biMinimize];

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧