a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 169|回复: 2

[Visual FoxPro] 2011年度计算机等级考试二级VFP基础教程(42)

[复制链接]
发表于 2012-7-31 22:17:54 | 显示全部楼层 |阅读模式
  5.11 页框和页/ _- {; p2 V4 }# }  j  p) [/ L
  一。页框(pageframe)和页(frame):页框是页的容器,一个页框可以包含多个页。页框和页的关系类似于windows操作系统中的对话框和选项卡之间的关系。页本身也是一种容器,一个页内也可包含若干个对象。通过页框和页,大大展宽了表单的大小,并方便分类组织对象。在页框中通过页面标题来选择页面,当前被选中的页面就是活动页面。
3 R. e, h+ z2 p/ B! k7 ?+ h$ w  二。页框常用属性见下表:; \4 Z  g% R0 h) V- y. ]8 c+ W
属性作用pagecount页数activepage指定活动页面tabs指定页面标题是否显示tabstyle指定页面标题排列方式,0-两端排列,1-非两端排列tabstrech页面标题内容较长时指定所有页的标题排列方式,0-单行排列,1-多行排列  页面通过caption属性设置标题的文本。在每个页面上可加入不同的对象。8 T# X0 ]0 h2 Y: k5 C) v
  在页面上加入和选择对象的步骤:
7 w# D' G4 }7 ^2 s" ~/ ]  1.右击页框,在快捷菜单中选"编辑",此时页框四周出现绿色阴影,进入编辑状态。  k3 |, {3 |' ~% j9 @6 r
  2.单击页框中各页面的标签,即选中此页面,此时可向该页添加对象,或在"属性"窗口中设置该页面的各种属性
$ u0 h2 y7 r5 K- p  三。页面中各对象的引用:4 T5 x& P% W% [1 v& b9 O5 c
  1.绝对引用方式:格式如下:
4 X- _( ]( ?5 t( C1 @7 t( Z) e  thisform.页框名。页名。页面对象名1 R" z: ~8 a9 i" ^+ x
  2.相对引用方式:; @) ^, s9 i  k0 p  }1 k
  (1).同一页面不同对象的引用:this.parent.引用对象名# J3 E5 m2 F4 S4 P( s& R! g# l2 W2 _
  (2).不同页面间的对象的引用:this.parent.parent.引用对象名
回复

使用道具 举报

 楼主| 发表于 2012-7-31 22:17:55 | 显示全部楼层

2011年度计算机等级考试二级VFP基础教程(42)

 四。例:页框中对象的引用  1.新建一个表单,并按下表设置其属性。
4 r* n  ?! x2 ?/ C属性名属性值caption页框中对象的引用autocenter.T.width375height158  2.向表单中添加一个页框pageframe1,并将其pagecount属性设为2,即该页框内有两个页面(实际上,新建一个页框,如果不设置pagecount属性,则默认为2).设置完毕后,界面如图398 N7 T" R  S# C3 P  e6 Y

4 V6 P# P+ G( Z! I5 C. e0 Y8 g  3.页框中有page1和page2两个页面,我们先来设置其中的page1
$ b2 _0 O( Z5 G- E* S  (1).右击页框,在快捷菜单中选"编辑",此时页框四周出现绿色阴影,进入编辑状态,如图40& R! D( x/ k) k$ O; P6 L
* F# i6 D" @: l" i! {) F
  (2).在页框的编辑状态下,单击选中page1标签,在"属性"窗口中将其caption属性设为"第一页",然后向page1中添加一个文本框 text1,一个命令按钮command1,并将该命令按钮的caption设为"输入",设置完毕如图41, j( [3 A/ o4 x( m* [

% Q" s" F( t6 o. q- Y  4.同样方法,在页框的编辑状态下,单击选中page2标签,在"属性"窗口中将page2的caption改为"第二页",向page2中添加一个文本框text1及一个命令按钮command1,并将命令按钮的caption改为"显示",如图42
) v# Q" e2 ?8 Z3 o+ Q" h
# ?3 f- l% S  U. b# Q& M+ F  5.做到这儿,我们发现,页框里有两个command1.实际上,页框中的每个页面都仍然是一个容器,而第一个comman1包含于page1,第二个comman1包含于page2,所以可以重名。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-31 22:17:56 | 显示全部楼层

2011年度计算机等级考试二级VFP基础教程(42)

  7.编写代码:) y# O/ R' s9 A; y' r
  *表单的load事件代码:
: }- \: G9 r- g0 O6 A  public xy &&定义一个全局变量xy,用于在两个页面间传递值/ m$ ]9 G9 n( U% F
  *页面page1,即"第一页"中的"输入"命令按钮的click事件:
- }' \/ d/ C  i/ c. F  右击页框pageframe1,选"编辑"命令,单击page1的标签"第一页"选中该页面,再双击其中的命令按钮,在代码窗口中选择click事件,输入如下代码:
. M8 [2 A$ U$ G. R1 L  xy=thisform.pageframe1.page1.text1.value &&将输入到文本框中的东西传递给全局变量xy7 s+ R) M4 f) x! I9 W
  thisform.pageframe1.page1.text1.value=""
3 Z( W: f: j: `1 Z2 {: R) L( d) x* }! W  thisform.refresh
( C) n* p- `0 h$ g% v4 F! o2 x, O  注:上述代码是绝对引用方式的代码,也可以用相对引用方式编写代码,功能是一样的,如下:5 O1 B' S! x8 A/ T
  xy=this.parent.text1.value+ B" N! Y3 R( Q, E( g
  this.parent.text1.value=""
, {: a) E) Y7 ]4 L: u7 ~* F8 O  thisform.refresh
$ T% g" B' [1 f# a, R& v, H' l6 F  *页面page2,即"第二页"中的"显示"命令按钮的click事件:2 [* W# A$ o8 _& l4 P5 ?! S9 M
  thisform.pageframe1.page2.text1.value=xy3 O1 o+ \7 a2 q. G9 h2 @+ L, x
  thisform.refresh
1 G4 t) @8 h- h2 ^  注:上述代码是绝对引用形式,采用相对引用方式编写的代码如下:
% K& e" \2 g0 n8 Q  this.parent.text1.value=xy8 c9 @" r* w) F  z/ E8 X
  thisform.refresh- X" @( w2 _3 {5 I4 k
  8.保存并运行表单,我们在"第一页"的文本框中输入一些文本,单击"输入"按钮,该文本即被赋给全局变量xy,同时文本框被清空(自己分析一下上面的代码,想想为什么会这样?);然后,我们切换到"第二页",单击"显示"按钮,即从全局变量xy中取出文本,并显示在"第二页"的文本框中。1 p. ^$ J% R1 m3 q# F( P
  6.在页框的编辑状态下,我们可以单击其中两个页面的标签,观察变化。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-6 22:32 , Processed in 0.286086 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表