delphi中如何使控件随窗口的放大和缩小动态改变自己的大小

2025-07-30 04:42:54

社区

Delphi 帖子详情 delphi中如何使控件随窗口的放大和缩小动态改变自己的大小 litterant 2011-02-23 10:44:51 delphi中如何使控件随窗口的放大和缩小动态改变自己的大小?

有没有什么比较好的方法,不要每个控件都要在onresize中写代码。

谢谢!

...全文

1874 11 打赏 收藏 delphi中如何使控件随窗口的放大和缩小动态改变自己的大小 delphi中如何使控件随窗口的放大和缩小动态改变自己的大小? 有没有什么比较好的方法,不要每个控件都要在onresize中写代码。 谢谢! 复制链接

扫一扫 分享 转发到动态 举报 AI 作业

写回复 配置赞助广告取 消

确 定

用AI写文章 11 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 lenovo455 2013-05-17 打赏举报 回复 设置控件的anchors属性,全部设为false,看看效果 bdmh 2011-02-23 打赏举报 回复 [Quote=引用 3 楼 litterant 的回复:]

兄弟,改变位置如何实现,改变大小已实现了

[/Quote]

那要看你想要什么样的效果了,改变规则是啥 litterant 2011-02-23 打赏举报 回复 兄弟,改变位置如何实现,改变大小已实现了 wooden954 2011-02-23 打赏举报 回复 可惜楼主要的是改变大小,而不是改变位置,在改变位置时有比较简单的方法 wooden954 2011-02-23 打赏举报 回复 写代码是最好的解决办法。!

有一个简单的函数ScaleBy,它可以使得你控制窗体内控件的比例,但是它实现的效果只能用一个字评价:烂!

给你个ScaleBy的例子吧,这个例子会使窗口中的控件随窗口宽度的大小而变化。

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ComCtrls;

type

TForm1 = class(TForm)

RichEdit1: TRichEdit;

Button1: TButton;

procedure Button1Click(Sender: TObject);

procedure FormResize(Sender: TObject);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

OldWidth:Integer;

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

Pos('dke',Richedit1.Lines.Text);

end;

procedure TForm1.FormResize(Sender: TObject);

begin

form1.ScaleBy(Self.Width,OldWidth);

OldWidth:=Self.width;

end;

procedure TForm1.FormShow(Sender: TObject);

begin

OldWidth:=Self.width;

end;

end. litterant 2011-02-23 打赏举报 回复 procedure TForm1.Button1Click(Sender: TObject);

begin

Pos('dke',Richedit1.Lines.Text);

end;

procedure TForm1.FormResize(Sender: TObject);

begin

form1.ScaleBy(Self.Width,OldWidth);

OldWidth:=Self.width;

end;

procedure TForm1.FormShow(Sender: TObject);

begin

OldWidth:=Self.width;

end;

end.

这段代码,运行后什么控件都看不见 wangyounihao 2011-02-23 打赏举报 回复 前面的那段代码,基本能满足要求 litterant 2011-02-23 打赏举报 回复 控件的大小能改变,但控件的top、 left值好像没变化 luxuewei5214 2011-02-23 打赏举报 回复 设置控件的anchors属性吧,全部设为true,看看满足你的要求么 wooden954 2011-02-23 打赏举报 回复 一般情况下的确不需要改变控件的大小,仅仅调整界面的布局即可。

使用Panel控件可以使得控件自动调整位置,

比如你想要一个按钮始终在界面底部,你在设计时可以先在界面上添加一个Panel,然后把Panel的Align属性设置为alBottom,这个Panel就会始终位于底部,如果把按钮放在Panel上的话,按钮相对于Panel是不动的,但按钮相对于窗体来说也会随Panel始终位于底部

同样,如果需要一个控件始终在窗体的右下角,那么可以先添加一个Panel1,Panel1的Align属性设置为alBottom,在Panel1上再放一个Panel2,并设置Panel2的Align属性为alRight,然后再在Panel2上放置按钮即可。 newfang 2011-02-23 打赏举报 回复 根据窗体的大小,计算一个比例系数,然后窗体上所有控件的大小和字体都用这比例系数计算出来~~

不过个人感觉没必要~~ Delphi自动根据窗体大小缩放控件 放在开发的窗口内,编译后的窗口放大缩小时,窗口的控件不会乱排。 Delphi窗口放大效果 Delphi窗口放大效果 是一个新手练习delphi的学习作品! Delphi 图片漫游框放大缩小及滚轮缩放 类似Windows图片查看器,实现图像的缩放,滑动鼠标中间的滚轮,可以实现图像的逐级缩放。类似Windows图片查看器,实现图像的缩放,滑动鼠标中间的滚轮,可以实现图像的逐级缩放。 Delphi 12 控件之SVGIconImageList VCL & FMX v4.2.1 Retail + Source Code.rar SVGIconImageList VCL & FMX v4.2.1 Retail + Source Code.rar OBControl v1.1控件 for Delphi 控件包包括:

1.TOBXPBarMenu

==========

就是大名鼎鼎的XPMenu控件名,这个控件包是Kingron修改过的,我对它也进行过一些小修改。

2.TOBCdUtils

==========

用来控制CD-ROM的开关,里面提供两个函数,直接调用就是了。

3.TOBCreateShortcut

==========

用于在桌面上创建快捷方式,如果你写安装程序的话,相信会节省不少代码。

4.TOBDirectories

==========

取得系统相关的各种路径,不用调用函数,直接读取控件相关属性就可以,十分实用。

5.TOBGammaPanel

==========

十分漂亮和专业的颜色取色器,不是取其它窗口的颜色,而且提供一个容器让用户选择颜色。

6.TOBFormMagnet

==========

不用写任何代码,让你的程序实现Winamp的磁性窗口效果。

7.TOBStarfield

==========

产生满天星空的效果,做关于窗口的话效果真会让人吃惊。

8.TOBThread

==========

多线程控件,再也不用为使用线程而新建一个文件了。而且提供多个函数和OnFinish线程完成、OnFinishAll所有线程完成等重要事件。

9.TOBZoom

==========

一个类似Windows放大镜的控件,如果需要写图像漫游的话就十分合适了。

10.TOBZlibMultiple

==========

使用了Delphi的ZLib进行压缩,不同的是它可以将多个文件、整个目录压缩到一个文件中,还可以进行解压。十分适合用在程序的备份功能上。

11.TOBSearchFile

==========

可以为你取得指定目录下面的所有文件名,相信很多人都需要这个控件。提供OnChangeDir事件让你在查找过程中进入子目录也能得到处理。

12.TOBDragDrop

==========

加入此控件后,你的程序就可以接受浏览器的文件拖入。

13.TOBAssociateExtension

==========

使你的程序有关联某种文件的能力。以前写此类相关代码真的好烦,现在好了,一个控件就搞定了。

14.TOBIQShine

==========

使得某个控件产生星光闪闪的效果,十分的抢眼,好看。程序中将当前输入焦点设置为星光闪闪是一个不错的选择。

15.TOBWavePlayer

==========

顾名思义,就是一个播放Wav文件的控件,提供循环播放的功能。

16.TOBTimeLimit

==========

如果你要设置程序只能使用到某个日期的话,只需放上此控件,并设置日期就可以了。

17.TOBAutoSizeCompo

==========

使你的程序能根据窗口大小,自动放大缩小窗口控件的大小及位置。

18.TOBInstances

==========

使用此控件可以使你的程序只会运行一个实例,而你却无需编写任何代码。

19.TOBFileStore

==========

可以将任何文件保存到窗口上。以前要写这样的功能,文件只能保存到资源上,很不方便。

20.TOBPictureStore

==========

可以组织一些不可见的图片。作者一般使用在自画的控件上。

1.1版本新增 :

21.TOBSysInfo

==========

收集系统CPU、显卡、网卡、系统等信息,资料十分齐全。感谢wind8bell提供资料。

22.TOBFormButton

==========

使得你的程序可以在标题栏添加按钮,并提供多种按钮图标或自定义图标。

Delphi

5,927

社区成员

262,935

社区内容

发帖 与我相关 我的任务 Delphi Delphi 开发及应用 复制链接

扫一扫 分享 确定 社区描述 Delphi 开发及应用 社区管理员

加入社区

获取链接或二维码

近7日

近30日

至今

加载中

查看更多榜单

社区公告

暂无公告 试试用AI创作助手写篇文章吧

+ 用AI写文章