主题:VFP表单与屏幕分辨率问题
有约故人来
[专家分:50] 发布于 2009-02-25 15:35:00
请教各位:
我做了一个信息管理系统,在局域网中使用,各人用的显示器不一样,而且分辨率设置也不一样,有的是1440x900,有的是1280x768等等,这样就产生一个问题:一个尺寸比较大的表单在有些显示器上只能看到一部分,很不美观,而且有些按钮遮住了就没法操作了,不知各位是否碰到此类问题?如何解决?
谢谢!
回复列表 (共12个回复)
沙发
qjbzjp [专家分:8830] 发布于 2009-02-25 18:31:00
我是这样处理的:
设计软件时的分辨率是按800×600,然后在主菜单功能中设置一个选项,“设置分辨率为800×600”/开(关)。由用户自己选择是否将屏幕分辨率设置成满屏。
同时将屏幕的WindowState 设置为2 ,运行时刻最大化。
我也想知道是否还有更好的办法?
板凳
moz [专家分:37620] 发布于 2009-02-25 18:37:00
窗体(表单)可以加滚动条。
当然,最好的办法还是按照各种分辨率定尺寸。
3 楼
mstzl [专家分:70] 发布于 2009-02-25 19:46:00
我的方法:
Thisform.Width=SYSMETRIC(1)-14
Thisform.Height=SYSMETRIC(2)-14
问题在于如何控制字模的大小
4 楼
wuzhouhong [专家分:10890] 发布于 2009-02-26 12:03:00
可以使用API强制修改用户的屏幕成为800*600,设计的表单都是800*600模式,退出程序时再把屏幕改回来。
5 楼
rh2588 [专家分:30] 发布于 2009-06-10 16:26:00
[quote]我的方法:
Thisform.Width=SYSMETRIC(1)-14
Thisform.Height=SYSMETRIC(2)-14
问题在于如何控制字模的大小
[/quote]
我试了下,不起作用,不知为什么?
6 楼
rh2588 [专家分:30] 发布于 2009-06-10 16:28:00
[quote]可以使用API强制修改用户的屏幕成为800*600,设计的表单都是800*600模式,退出程序时再把屏幕改回来。[/quote]
请问 如何 用 API 来强制修改用户的屏幕?
7 楼
zhaoyufei [专家分:550] 发布于 2009-06-10 22:41:00
可以在每一个表单的INIT中增加按比例自动调整表单及所有控件大小,但字体无法调整,LIST中每列宽度也无法调整,带有PAGEFRAME的每一个PAGE都要有自动调整功能
测出当前屏幕高或宽,与600或800有一个比例因子,然后把表单及其中所有控件的高、宽、左、顶,等值按比例调整,注意有的控件没有高、宽、左、顶属性时系统会报错,这样你必须把它跳过去
8 楼
hw2007name [专家分:4790] 发布于 2009-06-11 08:47:00
有Myfll.fll文件扩展库吗,没有可以在网上找一下。
myFll.fll中有一个函数可以更改分辨率。
函数名:ChangEres(nWidth,nHeight)
缩写:ChEr
更改屏幕的分辨率
返回值:
数值型:
0 :更改成功
1 :需要重新启动
-1:更改失败
-2:不支持此设置
-3:无法写入注册信息
参数:
nWidth :宽度
nHeight:高度
9 楼
zxplhzlt [专家分:420] 发布于 2009-06-11 13:45:00
不知各位使用的是哪版本?如果是9.0,干吗不用Anchor属性?
10 楼
blcg2001 [专家分:30] 发布于 2009-06-12 17:47:00
改分辨率的办法对液晶显示器尤其17寸以上的,极不适用。
用autosize属性怎样
我来回复