Tform自动居中。(简单而又有必要的)

rockynmc 2002-04-22 07:24:59
我的程序是将含菜单及工具栏等的Tform,现在想让运行的Tform自动居中显示,涉及两个问题:
1.Tfrom的大小不定,如何与屏幕的分辩率配合使用?(一般情况800*600)
2.Tfrom的位置应当居中,或者说是覆盖整个屏幕显示。(我记得Visual Foxpro原来都有个AutoCenter居中属性)。

在Delphi 6.0下该如何解决呢?小弟在此先谢了各位,更谢谢关注此贴的侠士们?
...全文
90 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongyou 2002-04-22
  • 打赏
  • 举报
回复
呵呵,大家相互学习学习~
Reaky 2002-04-22
  • 打赏
  • 举报
回复
form.position:=poScreenCenter

form.position:=poDesktopCenter
rockynmc 2002-04-22
  • 打赏
  • 举报
回复
更惨了,用了你的修改form的align属性为alClient,然后在
procedure TmainForm.FormCreate(Sender: TObject);
begin
Top:=(Screen.WorkAreaHeight-Height) Div 2;
Left:=(Screen.WorkAreaWidth-Width) Div 2;
end;

哪效果真是叫人气死哟,我的工具栏和状态栏都缩到了自定义状态,还是得把
把FORM的属性 position:=poScreenCenter。

好,给你们加分,但我是初学Delphi,初到CSDN,以后可能麻烦你们的事可多了。
  • 打赏
  • 举报
回复
他们都回答了怎么居中但是没有回答怎么才能够放大到最大,修改form的align属性为alClient就可以了,给分哦!!不给分以后不跟你玩了!
smhpnuaa 2002-04-22
  • 打赏
  • 举报
回复
同志啊!怎么会缩小了呢?搞笑嘛!
smhpnuaa 2002-04-22
  • 打赏
  • 举报
回复
在窗体的formresize中写:

Top:=(Screen.Height-Height) Div 2;
Left:=(Screen.Width-Width) Div 2;

或者用工作区域居中

Top:=(Screen.workareHeight-Height) Div 2;
Left:=(Screen.workareWidth-Width) Div 2;

div是整除的意思!

rockynmc 2002-04-22
  • 打赏
  • 举报
回复
hxshanji(洪兴山鸡),我是这样写的,
TForm的Position属性设为poScreenCenter先起作用,去掉后,你的方法有效,但把我的窗口缩小了,变形后才居中,帮我看看,这样是否不对?为什么要 div 2,
我现在屏幕是800*600,但给我变得很小了,不会用了640*480吧?

Form1.Top:=(Screen.Height-Height) Div 2;
Form1.Left:=(Screen.Width-Width) Div 2;
hxshanji 2002-04-22
  • 打赏
  • 举报
回复
点帖子后的管理
rockynmc 2002-04-22
  • 打赏
  • 举报
回复
谢了,各位!
我的确很菜,也不知如何把分加给你们,我只有可用分。
hxshanji 2002-04-22
  • 打赏
  • 举报
回复
加在creat里
hxshanji 2002-04-22
  • 打赏
  • 举报
回复
MainForm.Top:=(Screen.Height-Height) Div 2;
MainForm.Left:=(Screen.Width-Width) Div 2;
chechy 2002-04-22
  • 打赏
  • 举报
回复
将TForm的Position属性设为poScreenCenter
imchk6 2002-04-22
  • 打赏
  • 举报
回复
你可以把FORM的属性 position:=poScreenCenter就可以了,在属性框就可以中设置.

5,388

社区成员

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

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