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

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  5.4 文本框(textbox)控件

  一。文本框用于显示,修改和录入数据,常用属性见下表:

属性
功能
passwordchar口令字符.此属性赋值后,文本框中的内容均用此内容显示,但实际内容并没有变化
readonly是否只读.设置为只读后,文本框只能显示value属性中的内容,不能修改
value存放值.设计时可用此属性赋初值.初值类型决定文本框的数据类型
inputmark控制输入数据的格式和显示方式.参数及意义如下:控制输入的:X-任意字符 9-数字和+-号 #-数字和+-号和空格 ;
控制显示的:$-货币符号 $$-浮点货币符号 *-数值左边显示"*"
.-指示小数点位置 ,-小数点左边的数字用","分隔
controlsource指定与文本框绑定的数据源
selstart文本框中被选择的文本的起始位置
sellength文本框中被选择的文本的字符数
seltext文本框中被选择的文本
selectentry当文本框得到焦点时是否自动选中文本框中的内容
format

指定Value属性数据输入输出数据格式。参数及意义如下:
A-字符(非空格标点)
D-当前日期格式
E-BRITISH 日期数据
K-光标移入选择整个内容
L-数值数据加前导0
M-InputMask属性中可放入输入选项表
T-去头尾空格
!-转换为大写字母
^-用科学计数法显示数据
$-显示货币符
R-屏蔽字符不放入控制源中

  例如,如果表单中一个文本框用于显示和输入日期型数据,则应该将其value属性设为{};如果一个文本框用于输入5个任意字符,应该将其inputmark属性设为XXXXX;如果一个文本框用于输入6位的数字,则应该将其inputmark属性设为999999.

  二。文本框常用的事件:见下表:

事件发生时间
when在得到焦点之前发生
gotlocus在得到焦点时发生
valid在失去焦点前发生
lostfocus在失去焦点时发生

  例如,可在when事件的代码中保存文本框中原来的内容,可在valid事件代码中验证文本框中输入内容的正确性。valid事件中的return返回。F.,则文本框不会失去焦点。表单释放时,忽略return值的影响。

  三。例1:在主程序main.prg中先调用表单login.scx进行用户登录,如果用户名和密码正确,则调用表单xggz.scx(该表单的制作见5-2的例一).

  1.制作login.scx并设置属性:

  表单login.scx包含下列对象:标签label1~label2作提示信息;文本框text1用于输入用户名,文本框text1用于输入密码,"确定"命令按钮用于提交登录;"取消"命令按钮用于取消登录,界面如图18所示。

  依照界面设置命令按钮和标签的caption属性,并将表单的caption属性设为"用户登录",autocenter属性设为。T.;将文本框text2的passwordchar属性设为"*".将表单保存在e:/myvfp.

  2.编写代码:

  *表单的activate事件代码:

  this.text2.enabled=.f. &&输入用户名后才能输入密码

  this.text1.setfocus &&表单启动后光标先定位到用户名文本框

  *"用户名"文本框text1的确良keypress事件代码:

  if nKeycode=13.and.!empty(this.value) &&输入完用户名按回车键即进入输密码

  thisform.text2.enabled=.t.

  thisform.text2.setfocus

  endif

  *命令按钮"确定"的click事件代码:

  name=thisform.text1.value

  yes=.f. &&全局变量yes在主程序中定义,用于传回登录信息。如果合法用户登录,将yes置为。t.

  do case

  case name="guest".and.alltrim(thisform.text2.value)=="123456"

  yes=.t. &&第一个用户为guest,密码是123456

  case name="human".and.alltrim(thisform.text2.value)=="45678"

  yes=.t. &&第二个用户为human,密码是45678

  endcase

  if yes &&此条件为真,说明提交的是正确的用户名和密码

  messagebox("登录成功")

  else

  messagebox("用户名或密码不正确")

  endif

  thisform.release

  clear events

  *"取消"按钮的click事件代码:

  thisform.release

  clear events

  *主程序main.prg的代码:

  public yes &&用于接收登录信息的正确性

  set default to e:/myvfp

  do form login

  read events

  if yes &&此条件为真,说明登录的是合法用户

  do form xggz

  read events

  endif

  cancel

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答