主题:怎么样实现form的大小
ahmatjan
[专家分:0] 发布于 2006-10-17 11:17:00
大家好! 我是一个初学者 我希望大家多多教我
我想编一段程序,实现以下功能
怎么样实现form的大小随着我们的放大随放大的功能(里面的所有内容随着放大)
还望各位高手大侠指教,在下多谢了.
回复列表 (共9个回复)
沙发
hanzhijun402 [专家分:3690] 发布于 2006-10-20 17:59:00
这个功能JAVA好写点;
delphi的话你就跟据窗体的height跟width两个属性计算,然后设置窗体上的对象的left跟top属性。
板凳
长尾兔 [专家分:3630] 发布于 2006-10-20 18:06:00
有一个免费控件,叫formresizer你搜一下
3 楼
qianyl [专家分:30] 发布于 2006-10-20 20:56:00
路过,呵呵
4 楼
ripplebz [专家分:0] 发布于 2006-11-14 22:27:00
楼主应该是说窗口大小变化时,里面的控件也跟着变到吧,该居中的还是居中之类的吧。
5 楼
tqtqtq [专家分:10] 发布于 2006-11-15 19:35:00
如果要实现像4楼的朋友说的效果,该如何实现?
6 楼
fuliang0927 [专家分:0] 发布于 2006-11-22 14:39:00
我也想知道答案
有那个高手指点
7 楼
wealthy [专家分:1840] 发布于 2006-11-22 21:50:00
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormResize(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
h1,w1,h2,w2,hf,wf:Integer;
z1,z2:Currency;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);//定义窗口和控件初始属性
begin
Form1.height:=330;
Form1.Width:=330;
h1:=Form1.height;
w1:=Form1.Width;
Button1.height:=25;
Button1.Width:=75;
h2:=Button1.height;
w2:=Button1.Width;
end;
procedure TForm1.FormResize(Sender: TObject);//随放大而放大,随缩小而缩小
var
i,ii:Currency;
begin
hf:=Form1.height;
wf:=Form1.Width;
begin
z1:=(0.001+hf)/(0.001+h1);//0.01是防止空值或被零除而出错的
z2:=(0.001+wf)/(0.001+w1);
i:=h2*z1;
ii:=w2*z2;
Button1.height:=round(i);//四舍五入到整数
Button1.Width:=round(ii);
Button1.Font.Size:=15-Button1.height;//15是自己调整出的,你自已根据实际情况填.
end;
end;
end.
详细代码:
http://upload.programfan.com/upfile/200611222143310.rar
8 楼
ahmatjan [专家分:0] 发布于 2006-11-28 21:20:00
谢谢大家!!!
9 楼
woshizerg [专家分:0] 发布于 2006-12-20 17:24:00
8楼的代码我试了一下,可以改变控件大小,最好在加上控件位置的控制,否则控件会重叠
我来回复