delphi中如何设置窗体的宽度和高度

发布于 2024-11-17 11:28:01 字数 83 浏览 1 评论 0原文

Delphi 7 中如何设置窗体的宽度和高度?该窗体上包含不同类型的控件。我需要将主窗体大小设置为 127x263。它应该以编程方式更改 单击按钮即可。

How can I set the width and height of a form in Delphi 7? The form contains different types of controls on it. I need to set the main form size to 127x263. It should change programmatically
in a button click.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦里梦着梦中梦 2024-11-24 11:28:01

像这样:

MainForm.Width := 127;
MainForm.Height := 263;

或者您可能希望将客户区域设置为这些尺寸:

MainForm.ClientWidth := 127;
MainForm.ClientHeight := 263;

当然,您最常见的是在设计时在对象检查器中设置这些属性,然后将它们写入表单的 .dfm 文件中。

如果您希望在按钮单击上发生此类更改,请为按钮单击添加一个处理程序,如下所示:

procedure TMainForm.Button1Click(Sender: TObject);
begin
  Width := 127;
  Height := 263;
end;

在最后的摘录中,您不需要指定 MainForm 对象实例,因为事件处理程序是 TMainForm 类的成员,因此 Self 是隐式的。

如果您希望遵循 Ulrich Gerhardt 的建议(请参阅评论)并使用 SetBounds 那么您可以这样写:

SetBounds(Left, Top, 127, 263);

最后,如果您的表单有 Scaled = True 那么您需要处理字体缩放。像这样的硬编码像素尺寸不适用于字体缩放设置为与您的机器不同的值的机器。

Like so:

MainForm.Width := 127;
MainForm.Height := 263;

Or perhaps you want to set the client area to those dimensions:

MainForm.ClientWidth := 127;
MainForm.ClientHeight := 263;

Of course, you most commonly set these properties in the Object Inspector at design time and then they are written to your form's .dfm file.

If you want such a change to occur on a button click add a handler for the button click that looks like this:

procedure TMainForm.Button1Click(Sender: TObject);
begin
  Width := 127;
  Height := 263;
end;

In this last excerpt you don't need to specify the MainForm object instance because the event handler is a member of the TMainForm class and so the Self is implicit.

If you wish to follow Ulrich Gerhardt's advice (see comment) and use SetBounds then you would write:

SetBounds(Left, Top, 127, 263);

Finally, if your form has Scaled = True then you need to deal with font scaling. Hard coded pixel dimensions like this will not be appropriate for machines with font scaling set to a different value from your machine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文