| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5186 人关注过本帖, 3 人收藏
标题:请问如何使程序中的表单尺寸自动适应不同电脑的屏幕尺寸?
只看楼主 加入收藏
天狼剑星
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2010-11-11
结帖率:72.73%
收藏(3)
 问题点数:0 回复次数:13 
请问如何使程序中的表单尺寸自动适应不同电脑的屏幕尺寸?
请问如何使程序中的表单尺寸自动适应不同电脑的屏幕尺寸?我设计时的电脑是1280*600,但到一些台式机的大屏幕上,表单的尺寸就没有放大至整个屏幕,请问如何使表单的尺寸及上面的控制自动调整尺寸?
搜索更多相关主题的帖子: 台式机 
2011-04-29 16:50
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
主表单(主窗口)根据用户屏幕当前的分辩率设置决定,其他表单根据主表单的大小设定。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2011-04-30 08:33
天狼剑星
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2010-11-11
收藏
得分:0 
谢谢楼上的回复!不过好像与我问的问题没对上呢,继续求答案
2011-04-30 10:08
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
程序启动时先取得用户电脑屏幕分辨率,然后动态设置主表单的大小。也可以将主表单的windowsstat属性为最大化。
其他表单启动时根据主窗口的尺寸来动态设置大小。
好象与楼主的问题对的上吧?

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2011-04-30 21:49
cymjx
Rank: 2
等 级:论坛游民
帖 子:74
专家分:29
注 册:2010-11-9
收藏
得分:0 
我也想知道这个问题,请高手们赐教。自己写的程序,在自己的电脑上使用,屏幕尺寸没有问题,但在别人电脑上使用就不能满屏,想问一下,
能否在主表单中用命令来根据不同电脑分辨率设置,使表单自动放大和缩小,满屏显示。
2011-05-01 10:59
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
答案是肯定的。最简单的办法是设置表单的windowstate属性为最大化。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2011-05-01 15:04
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
    这个问题网上已有许多讨论的帖子也有解决问题的办法。但解决起来比较麻烦,大意是先测定设计时分辨率与用户电脑分辨率的差别比例,然后按照这个差别比例系数逐个将所有控件放大。如果要更好看,还要将控件的字体、左边距、顶边距也按比例放大。
    我没做过商业软件,不想下这么大的功夫。我是用两种方法:
    1. 按6楼的办法;
    2. 设计一个选项,由用户来选择是否按设计分辨率来启动。(用木瓜大师提供的分辨率设置函数来实现,启动时按设计时分辨率,记住用户的分辨率,退出时恢复用户分辨率。)

相互学习,互相交流,共同提高。
2011-05-01 16:11
ilikeflash
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:148
专家分:186
注 册:2011-4-6
收藏
得分:0 
在表单init中
WITH thisform
.Width=SYSMETRIC(1)
.Height=SYSMETRIC(2 )
endwith
2011-05-02 00:01
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
收藏
得分:0 
********************************调整解析度*************
Local OldHeight,OldWidth,ChangeHeight,ChangeWidth
OldHeight=600
OldWidth =800
ChangeHeight=0
ChangeWidth=0

IF SYSMETRIC(1)#OldWidth
  THISFORM.Lockscreen=.F. &&详情查阅LockScreen属性
  ChangeHeight=Sysmetric(2)/OldHeight
  ChangeWidth=Sysmetric(1)/OldWidth
   
      **变动表单外框
         IF This.BaseClass='Form'
           WITH THIS
             .Height=.Height*ChangeHeight
             .Width =.Width*ChangeWidth
             .Top   =.Top*ChangeHeight
             .Left  =.Left*ChangeWidth
           ENDWITH
         ENDIF
   
   **变动表单内所有控件的大小和位置
     FOR  I =1 TO  This.ControlCount
       WITH THIS.Controls(I)
         .Height=.Height*ChangeHeight
         .Width =.Width*ChangeWidth
         .Top   =.Top*ChangeHeight
         .Left  =.Left*ChangeWidth
       ENDWITH
     ENDFOR
     Thisform.Lockscreen=.F.
     ENDIF
  THISFORM.REFRESH   
********调整解析度结束*****************************

认真看书学习,弄通Fox主义。
2011-05-02 08:44
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
收藏
得分:0 
classlibrary.rar (4.67 KB)

认真看书学习,弄通Fox主义。
2011-05-02 09:10
快速回复:请问如何使程序中的表单尺寸自动适应不同电脑的屏幕尺寸?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047454 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved