回 帖 发 新 帖 刷新版面

主题:VFP表单与屏幕分辨率问题

请教各位:
   我做了一个信息管理系统,在局域网中使用,各人用的显示器不一样,而且分辨率设置也不一样,有的是1440x900,有的是1280x768等等,这样就产生一个问题:一个尺寸比较大的表单在有些显示器上只能看到一部分,很不美观,而且有些按钮遮住了就没法操作了,不知各位是否碰到此类问题?如何解决?
   谢谢!

回复列表 (共12个回复)

沙发

我是这样处理的:
设计软件时的分辨率是按800×600,然后在主菜单功能中设置一个选项,“设置分辨率为800×600”/开(关)。由用户自己选择是否将屏幕分辨率设置成满屏。
同时将屏幕的WindowState 设置为2 ,运行时刻最大化。
我也想知道是否还有更好的办法?

板凳

窗体(表单)可以加滚动条。
当然,最好的办法还是按照各种分辨率定尺寸。

3 楼

我的方法:
Thisform.Width=SYSMETRIC(1)-14
Thisform.Height=SYSMETRIC(2)-14
问题在于如何控制字模的大小

4 楼

可以使用API强制修改用户的屏幕成为800*600,设计的表单都是800*600模式,退出程序时再把屏幕改回来。

5 楼

[quote]我的方法:
Thisform.Width=SYSMETRIC(1)-14
Thisform.Height=SYSMETRIC(2)-14
问题在于如何控制字模的大小
[/quote]

我试了下,不起作用,不知为什么?

6 楼

[quote]可以使用API强制修改用户的屏幕成为800*600,设计的表单都是800*600模式,退出程序时再把屏幕改回来。[/quote]

请问 如何 用 API 来强制修改用户的屏幕?

7 楼

可以在每一个表单的INIT中增加按比例自动调整表单及所有控件大小,但字体无法调整,LIST中每列宽度也无法调整,带有PAGEFRAME的每一个PAGE都要有自动调整功能
测出当前屏幕高或宽,与600或800有一个比例因子,然后把表单及其中所有控件的高、宽、左、顶,等值按比例调整,注意有的控件没有高、宽、左、顶属性时系统会报错,这样你必须把它跳过去

8 楼

有Myfll.fll文件扩展库吗,没有可以在网上找一下。
myFll.fll中有一个函数可以更改分辨率。

函数名:ChangEres(nWidth,nHeight)
缩写:ChEr
更改屏幕的分辨率
返回值:
数值型:

0 :更改成功 
1 :需要重新启动 
-1:更改失败 
-2:不支持此设置 
-3:无法写入注册信息 
参数:
nWidth :宽度 
nHeight:高度 

9 楼

不知各位使用的是哪版本?如果是9.0,干吗不用Anchor属性?

10 楼

改分辨率的办法对液晶显示器尤其17寸以上的,极不适用。
用autosize属性怎样

我来回复

您尚未登录,请登录后再回复。点此登录或注册