| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1690 人关注过本帖
标题:表单显示如何实现自动化!
只看楼主 加入收藏
hongshan008
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-5-19
收藏
 问题点数:0 回复次数:6 
表单显示如何实现自动化!
如何使设计的表单以用户使用的电脑的显示分辨率的改变来自动改变,比如设计的页面是800×600,如果到了1024×768的电脑上不至于还是显示800×600?
高手赐教!
搜索更多相关主题的帖子: 自动化 表单 
2007-05-19 14:13
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 
本人不才,据我了解VFP好像没办法实现

两人行已有我师……
2007-05-19 15:19
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11785
专家分:43421
注 册:2006-5-13
收藏
得分:0 
如果你并没有让表单最大化,那当然还是按你设计的大小在屏幕中显示的。
如果你将表单的Windowstate属性设置成2,或者使用了代码
ZOOM Windows Screen Max
那么表单将自动充满整个屏幕。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2007-05-19 19:55
hongshan008
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-5-19
收藏
得分:0 
我晓得最大化得问题,但是有个问题,当表单最大化以后只是从下面和右面多出来些空白的地方,并不是讲表单中所有得控件都按比例放大,所以如果设计了表单最大化会破坏原来得设计格局。
2007-05-20 10:11
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 
呵呵,显示模式的设置与表单最大化好像并不是一回事。

两人行已有我师……
2007-05-20 19:24
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11785
专家分:43421
注 册:2006-5-13
收藏
得分:0 
可以通过Wcols()和Wrows()函数来获得窗口的列数和行数,然后调整表单中部分控件的尺寸,但很难做到按比例放大。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2007-05-20 19:36
keniy
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-12-26
收藏
得分:0 
回复:(hongshan008)表单显示如何实现自动化!
把以下程放入INIT中

**************根据屏幕分辩率自动调整的表单
LOCAL lnHeight, lnWidth, lnHeightdiff, lnWidthdiff
lnHeight = 600 && 原分辩率下的控件高度
lnWidth = 800 && 原分辩率下的控件宽度
lnHeightdiff = 0 && 保存不同高度的变量
lnWidthdiff = 0 && 保存不同宽度的变量
IF SYSMETRIC(2) <> lnHeight && 如果目前不是运行于 600x800 分辩率下
lnHeightDiff = SYSMETRIC(2) / lnHeight
lnWidthDiff = SYSMETRIC(1) / lnWidth
** 如果是在容器对象(如页框中的页等非表单且具有 ControlsCount 属性的容器)的 Init 事件中, 你需要注
** 释掉以下代码直到 ENDIF 代码行.
This.Height = This.Height * lnHeightDiff
This.Width = This.Width * lnWidthDiff
This.Top = This.Top * lnHeightDiff
This.Left = This.Left * lnHeightDiff
** 遍历各对象, 重新调整和安排它们.
FOR I = 1 TO This.ControlCount
WITH This.Controls(i)
.Height = .Height * lnHeightdiff
.Width = .Width * lnWidthdiff
.Top = .Top * lnHeightdiff
.Left = .Left * lnWidthdiff
ENDWITH
ENDFOR
ENDIF
ThisForm.Refresh()
2007-09-20 13:42
快速回复:表单显示如何实现自动化!
数据加载中...
 
   



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

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