Delphi中窗体位置问题,望高手指点!

我点击一按钮弹出一个小窗体,显示在屏幕的右上角,在我电脑是正常,但是在其他人的点就会出现窗体显示到屏幕外边去了,如何控制窗体的位置让所有尺寸的电脑屏幕都显示在右上角指定的... 我点击一按钮弹出一个小窗体,显示在屏幕的右上角,在我电脑是正常,但是在其他人的点就会出现窗体显示到屏幕外边去了, 如何控制窗体的位置让所有尺寸的电脑屏幕都显示在右上角指定的相同位置????

我目前是这样控制的,但是不行:
msgForm.Left := trunc(Screen.Width * 0.86);
msgForm.Top := trunc(Screen.Height * 0.01);
展开
 我来答
xyc198600_126
2013-02-27 · TA获得超过135个赞
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:123万
展开全部
你这样写是,左边距为 屏幕宽度的86%,但是如果你 的窗体宽度大于 屏幕宽度的14%时,你的窗体就会跑到屏幕外边去了。

同意 wyattwriy 的方法,左边距应该是 屏幕宽度 减去 窗体宽度,这样就可以保证窗体在右上角了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sxlshmily
2013-03-01
知道答主
回答量:7
采纳率:0%
帮助的人:3.5万
展开全部
第一次见到这种写法的:
msgForm.Left := trunc(Screen.Width * 0.86);
msgForm.Top := trunc(Screen.Height * 0.01);

设置窗体位置通常有几种方法:绝对坐标法:msgForm.Left := x; msgForm.Top :Y;
Position法:msgForm.Position := poScreenCenter; //屏幕中心......还有其它一些属性值,自己可以试试.
还可通过borderstyle 属性要配合使用,
另:windowState法:msgForm.windowState:= wsMaximized;//最大化...还是两个属性值,自己试试吧,通常以上几咱
来自:求助得到的回答
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bob86403985
2013-02-26
知道答主
回答量:11
采纳率:0%
帮助的人:8.3万
展开全部
你想要实现是这个吧?

Form1.Left := trunc(Screen.Width)-Form1.Width;
Form1.Top := 1;

Top用该是用Form1.height去定位.如果固定就直接指定数值。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wyattwriy
2013-02-26
知道答主
回答量:9
采纳率:0%
帮助的人:3.5万
展开全部
msgForm.left := screen.width-msgform.width;
msgform.top := 0;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-02-26 · 超过38用户采纳过TA的回答
知道答主
回答量:204
采纳率:0%
帮助的人:86万
展开全部
你这样编写的代码,我用来测试过是可以的,要不你把全部代码放出来给我看看
追问
我控制窗体位置  就这2行代码,但是可能别人的电脑被屏幕大小、分辨率等因素影响   不知道应该怎么做。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式