如何让我的窗体大小适应分辨率的变化而变化?

lorvery 2005-09-19 10:29:53
如何让我的窗体大小随分辨率的变化而成比例变化,窗体上的组件的大小也要成比例变化。
谢谢
...全文
313 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinzhili 2005-10-13
  • 打赏
  • 举报
回复
我讲一下我的方法:在800*600下把所有窗体都建好。然后在1024*768下再画界面就行了。只要不改变窗体的大小就没有问题。我现在正在写的软件就是这么做的。不然在800*600下写程序太难写了。
youcheng1 2005-10-13
  • 打赏
  • 举报
回复
用控件的Anchors属性啊。
chyk7301 2005-10-13
  • 打赏
  • 举报
回复
请问:我的frame窗体如何更改分辨率?
shadowstar 2005-09-22
  • 打赏
  • 举报
回复
游戏都是自己调分辨率的。
ctrlqrj 2005-09-22
  • 打赏
  • 举报
回复
子控件的位置也是一个问题啊
chenchangfu 2005-09-20
  • 打赏
  • 举报
回复
对,不错,up
microluck 2005-09-20
  • 打赏
  • 举报
回复
楼上的做法太。。。。

dd_zhouqian 2005-09-20
  • 打赏
  • 举报
回复
这样固然灵活,但是实现起来还是有些不尽如人意的地方,最好给他定死,如:分辨率为800*600,系统不是该分辨率将不允许进入程序
jackie168 2005-09-20
  • 打赏
  • 举报
回复
假如你在800*600的分辨率下的form,第一步:
inplementation
const
ScreenWidth: LongInt = 800; {I designed my form in 800x600 mode.}
ScreenHeight: LongInt = 600;

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
scaled := true;
if (screen.width <> ScreenWidth) then
begin
height := longint(height) * longint(screen.height) div ScreenHeight;
width := longint(width) * longint(screen.width) div ScreenWidth;
scaleBy(screen.width, ScreenWidth);
end;
end;

下一步,要每個子控制的字体改變到合适的大小:
type
TFooClass = class(TControl); { needed to get at protected }
{ font property }

var
i: integer;
begin
for i := ControlCount - 1 downto 0 do
TFooClass(Controls[i]).Font.Size :=
(NewFormWidth div OldFormWidth) *
TFooClass(Controls[i]).Font.Size;
end;
老之 2005-09-20
  • 打赏
  • 举报
回复
用Screen.Width和Screen.Height来获取屏幕宽度和高度
假设你是在1024×768下编程,主窗体可以这样:

procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Height:=500;
Form1.Width:=500;
case (Screen.Width) of
800: begin
Form1.Height:=Form1.Height*800 div 1024;
Form1.Width:=Form1.Width*800 div 1024;
end;
640: begin
Form1.Height:=Form1.Height*640 div 1024;
Form1.Width:=Form1.Height*640 div 1024;
end;
end;
end;

其他组件可以根据需要来写
lorvery 2005-09-19
  • 打赏
  • 举报
回复
怎么没有人回答我的问题?
请高手指教

5,386

社区成员

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

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