首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

请问:foxpro中视口是什么

2012-03-04 
请教:foxpro中视口是什么?视口是一个表单在容器中显示的矩形区域。表单容器控制了视口的大小。如果更改表单

请教:foxpro中视口是什么?
视口是一个表单在容器中显示的矩形区域。表单容器控制了视口的大小。如果更改表单容器的大小,视口也将改变大小。

===========================================

不好理解

[解决办法]
视口可以理解为:你可以看到的表单显示部分,视口的位置会根据你的设置及对表单进行的滚动操作而变化,而它的大小等于表单当前尺寸加滚动条尺寸,表单没有出现滚动条时,它的大小与表单相等。
1. 在未设置表单的 ScrollBars 属性(ScrollBars=0)时,视口的原点(左上角)永远是(0,0)。
2. 如果你设置了 ScrollBars,并且在运行时利用表单滚动条或调用表单的SetViewport 方法滚动了窗口,则视口原点变不再是 (0,0)。

你可以通过下面试验来理解视口的概念:
1. 新建一缺省大小的表单,边框类型(BorderType)为缺省值 3,滚动条类型(ScrollBars)改为 3
2. 在表单右下角放一个按钮控件,将下面的代码粘贴到这个按钮的 Click 事件中:
Messagebox( ;
'表单(左,顶,宽,高): ' ;
+ Transform(Thisform.Left) + ',' ;
+ Transform(Thisform.Top) + ',' ;
+ Transform(Thisform.Width) + ',' ;
+ Transform(Thisform.Height) ;
+ 0h0d0a0d0a ;
+ '视口(左,顶,宽,高): ' ;
+ Transform(Thisform.ViewPortLeft) + ',' ;
+ Transform(Thisform.ViewPortTop) + ',' ;
+ Transform(Thisform.ViewPortWidth) + ',' ;
+ Transform(Thisform.ViewPortHeight) ;
)
3. 运行表单,点按钮,此时可看到视口原点为(0,0),大小与表单相同
4. 缩小窗口,直至右下角按钮不可见,此时表单上应出现滚动条,拉动滚动条到底,直至右下角按钮全部显示出来,再次点按钮,此时可看到视口原点不再是(0,0),而大小变为当前窗口大小+滚动条大小(滚动条的尺寸可用 SysMetric(5),SysMetric(8) 函数得到,它们通常是 17,但用户可通过改变 Windows 系统的外观来改变滚动条的大小)

另外,foxpro 中没有视口的概念,vfp 中才有。

热点排行