| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 852 人关注过本帖
标题:表单在编译后运行时,窗口在另外一台大屏幕显示屏上显示只显示设计时窗口大 ...
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
楼主说的就是表单中的控件,在窗体变换显示器之后最大化,右边多了一大片空白,即普通5/4屏变到16/9。他主要的问题是控件不会随着窗体的尺寸变化而变化,这是一开始就没考虑到的后果,需要改变布局思想来解决。但也有将就一点的办法,即把原来的控件,整体右移,使内容总是居中(这是一般WEB页面的办法),但仍然有浪费。彻底使用所有空间的布局,需要整体考虑,特别是中间那一块要能够动态适应而不致影响内容很难看。

看过我以前代码的都知道,我的表单类定义中总是有Arrage这个自定义方法,那是用于控件布局的,在窗体尺寸变化时根据这个方法伸缩控件(布局中必须保证有一块内容是可以随意伸缩的,另外可以是固定尺寸或按比例分布的),就是为了应付这种场合。后来使用.NET的WPF编程,就发现它的思想也是这样:它的布局有两个阶段,第一阶段是“测量”,即测量各个控件的所需要的尺寸,第二阶段就是“布局”,根据前面算出的尺寸来尝试最合适的摆放位置和实际尺寸。它的算法很好,比我自己的高明很多(有栈式、流式、表格式等等不同的形式和它们的嵌套组合),我自问做不到那样,但相对简单的布局还是可以的,靠放什么上去来迁就一下就是了。

[ 本帖最后由 TonyDeng 于 2013-2-18 00:36 编辑 ]

授人以渔,不授人以鱼。
2013-02-18 00:21
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:0 
表单上的控件按比例缩放,效果是很差的
只有把这些控件放在容器控件中,整体居中,这样控件的大小比例不会失真。

[ 本帖最后由 sdta 于 2013-2-18 00:50 编辑 ]

坚守VFP最后的阵地
2013-02-18 00:48
tdlx
Rank: 1
等 级:新手上路
帖 子:45
专家分:6
注 册:2013-2-7
收藏
得分:0 
难道就没有解决的办法吗?如在属性上设置以后能根据屏幕大小改变控件大小及所有控件相对表单居中。。。
2013-02-18 09:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
居中在Resize事件中写一段代码就可以了

授人以渔,不授人以鱼。
2013-02-18 13:36
快速回复:表单在编译后运行时,窗口在另外一台大屏幕显示屏上显示只显示设计时窗 ...
数据加载中...
 
   



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

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