a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 226|回复: 3

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

[复制链接]
发表于 2012-7-31 22:17:54 | 显示全部楼层 |阅读模式
5.6 命令按钮和命令按钮组  一。命令按钮(commandbutton):通常用来完成某些功能,例如确认,撤认,执行,完成等操作。, z$ [) q9 c) x$ e( G& D/ l) d
  二。命令按钮组(commandgroup):当一个表单需要多个命令按钮时,可以使用命令按钮组,这样可使事件代码更简洁,界面更加整洁和美观。命令按钮组中各命令按钮的排列方向和位置可根据用户的需要进行调整,操作的步骤如下:: `- M; C% L% k; D
  1.单击选中表单中的命令按钮组。
1 u7 A' w% l* |& b$ I5 b8 a5 O  Z/ d  2.右击命令按钮组,在快捷菜单中选择"编辑"命令。
8 B- T# P1 h4 ~/ M  3.选中命令按钮后,根据需要进行相关操作(也可在"属性"窗口的对象选择列表框中直接选择命令按钮组中各个命令按钮)
9 M. d3 m+ ?: v( q: ?) p  三。命令按钮(组)的常用属性:见下表:! S' h% a0 ]" s) I2 G$ B
属性功能caption标题文本.含"\
回复

使用道具 举报

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

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

 1.选中command1,在"属性"窗口中中选中caption属性,在上方文本框中输入"确定",如图21
9 v& p" L& @' W! ~' y% V# R/ O7 s4 T3 l) e  c! x! K* G
  2.选中command2,在"属性"窗口中中选中caption属性,在上方文本框中输入"\
回复 支持 反对

使用道具 举报

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

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

  2.按下表设置命令按钮组commandgroup1的属性:4 I3 l( u& i% W8 p
对象属性名属性值commandgroup1buttoncount5commandgroup1auotsize.T.command1caption第一个command2caption上一个command3caption下一个command4caption最后一个command5caption退出  3.编写代码:命令按钮组commandgroup1的click事件代码如下:
2 o4 T3 I0 l* ]+ v2 B. e! o% h  sel=this.value &&变量sel用于命令按钮组中被选中的命令按钮的序号(即运行时被单击的)
; I0 g- g$ E& D5 q  do case
3 Y. t) o. I& ?& X. q  case sel=16 d0 c& n* m8 U& l
  go top
* y& ~  e7 E; n6 w5 T  case sel=2( m+ h$ K( t2 T$ E5 d" J# a+ I
  if !bof()
, F6 ~! [; A& v# H1 [- \  skip -1! V8 G7 q* e( @: }
  endif
# O5 g" {; P* a* A; S  case sel=3, V% P" t1 M0 s/ ]
  if !eof()
. f) n5 ]5 c* G  skip5 E) |; T' ^5 ]; t
  endif/ O2 f! J) A: C1 i7 r
  case sel=4
; f- o4 W: N$ N  go bottom
4 V& B; C7 `3 D# c" @" G  case sel=5
: X8 `0 u2 E6 x# i  thisform.release
6 f; l* S- K/ b' B- h: y& `  endcase
& M' f4 W: C- G8 G" R  thisform.refresh
回复 支持 反对

使用道具 举报

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

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

 六。例二:按人员编号增删改"工资情况表的数据  1.设计表单的界面:新建表单→打开数据环境→将"工资情况"表添加到数据环境中→从数据环境中,拖动"工资情况"表的所有字段到表单中,并添加文本框 text1用于输入定位人员的编号,添加"定位"(command1),"追加"(command2)和"删除"(command3)三个命令按钮,界面如图24所示,并将文本框text1的inputmark属性设为99999; ?3 j2 W$ j0 L4 |
) h/ v% ]) f* R+ I" }
  2.编写代码:0 {9 C3 P! D! ]2 `  V0 f
  *"定位"按钮的click事件代码:' W( f  c3 U! {' X3 r/ \& v# u
  bh=alltrim(thisform.text1.value)
$ C/ I4 t' q; D' |( ~0 ~  jlh=recno()
6 T$ F! m- w  F5 Q1 Z  locate for 编号=bh
0 X+ D+ q4 d' N2 Q+ i; k7 x  if eof()
- a  n3 c" V1 p7 Y6 V  go jlh
' V# S! c/ A5 x* o  =messagebox("没有找到该编号!")
" K$ y5 W: F2 ?3 Q# [. d8 Z  else& q: ^. X7 L  `2 Q7 A; ]* v
  thisform.refresh! N; H$ o" Q/ {2 l
  endif
" h" l8 n' P# Z0 V  *"追加"按钮的click事件代码:
, K/ d0 d* \6 o- n5 ~' }# E2 j  append blank
- X7 P1 u# N# B4 U) ^/ C  thisform.refresh) N+ U6 d6 y. i5 p- O8 R; j
  *"删除"按钮的click事件代码:$ n, Q3 i5 B% h/ `' l# h' T; f2 e" P
  yn=messagebox("是否要删除?",4+32)0 u2 W7 w- h! }1 n
  if yn=65 R, |9 U! c! j8 z# ?, I& }
  delete
4 a; K& \' Y5 S+ O+ x  if eof()
+ U( n4 Y- H7 u! `  go top/ {7 J8 v, \6 m% x8 p" w  R6 V
  else  ~) ]$ j+ L- W8 w9 u' s7 [! }" |
  skip
  }: C9 N: f1 v0 P  endif
. w4 G' R2 G0 c0 }  thisform.refresh$ w: U1 Z) R4 M- d( ^. E6 O
  endif
$ E1 P9 n( O1 b( m& a  3.可进一步考虑问题:怎样实现在文本框text1中输完编号,回车即进行查找?
, I- f0 R' |, O& H. e! ?+ ]8 ~* ~" R  可在text1的valid事件加入如下代码:% k. f" x# B$ z/ [" D
  if !empty(this.value)7 y( [- }6 k5 z5 h% a6 s
  thisform.command1.click &&调用命令按钮"查找"(即command1)的click事件代码,进行查找
6 C# d' R/ K1 H8 a1 F  else
' o& r" R1 ?6 O, Z  return .f.
" G, y3 E5 e. Z4 P4 w  endif
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 03:26 , Processed in 0.399799 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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