Visual BASIC 3.0中文本框处理技巧五则

Author: 刘强 Date: 1997-01-01

  在Visual BASIC 3.0中,文本框(TextBox)是最常用的控件,熟练运用文本框是开发出高质量应用程序的基础。笔者在从事应用程序开发过程中,总结出处理文本框的几个应用技巧,写出来与VB爱好者共享。
#2  一、设置只读文本框。
  有时需要在窗口显示一段信息,但又不希望用户去改变它,怎样实现文本的只读呢?我们不但可以利用标签框(label)的只读属性,以标签来代替文本框,实现只读属性,还可以用小程序实现真正的只读文本框。
  Sub Text1-KeyPress(keyascii As Integer)
  keyascii=0
  End Sub
  或者也可以用sendkey方法使文本框失去焦点,如以下程序:
  Sub Text1-KeyDown(KeyCode As Integer,Shift As Integer)
  SendKeys  "{tab}"
  End Sub
#2  二、限定文本框的输入内容和格式。
  以下程序可以限定在文本框中只能输入数字:
  Sub Text1-KeyPress(keyascii As Integer)
  If keyascii<48 or keyascii>57 Then         
  Beep         
  Beep         
  keyascii=0
  End If
  End Sub
  若想限定文本框的输入格式,可以使用VB的FORMAT函数,也可以使用专业的屏蔽控件(Masked Edit),通过设定屏蔽控件的Mask属性可以对文本框的输入格式作精确控制。
#2  三、为TEXTBOX创建快捷键。
  VB规定,添加在窗体上的控件均要在其Tabindex属性中记载其加载顺序,程序运行时焦点按Tabindex属性规定的顺序在控件间跳转。为了简化操作,可在VB中为任何具有caption属性的控件创建快捷键,一般可通过在caption属性中在想作为快捷键的字母前加&号实现。而类似文本框这样的控件没有caption属性,这时可将标签与文本框同时使用,为label创建快捷键,标签Tabindex属性设置比文本框小1,又因为label不能接收按点,焦点会自动跳至文本框。这相当于为文本框创建了快捷键。具体步骤如下:
  (1)首先绘制标签,再绘制文本框,或随意绘制各种控制,将标签Tabindex属性设置比文本框小1。
  (2)在标签的caption属性中使用“&”号设定快捷键,这样就相当于为文本框设定了快捷键,当你按下标签框的快捷键时,焦点就会跳至文本框上。
#2  四、在设计时实现文本框换行。
  对于文本框,在设计时properties窗口不能输入换行符,但可以在程序执行时用代码来换行,即使用ASCII字符的3和10,如下列小程序就可将两行文本放入文本框:
  Sub form-load()
  NL=chr(13)+chr(10)
  text1.text="myname is"&NL&"liu qiang"
  End Sub
#2  五、创建口令文本框。
  创建口令文本框可用设置属性的方法,也可以通过调用Windows的API应用函数接口来实现。首先,文本框的属性Passwordchar和Maxlength可用来设置口令框。其中Passwordchar指定文本框显示的字符,如指定“*”,则在文本框内显示“*”,Maxlength确定文本框中能输入几个字符。超过Maxlength以后,文本框发出警告声,不能接收更多的字符。若使用Windows应用函数接口,可用GetWindowsLong、SetWindowsLong和SendMessage等接口函数来实现,有兴趣的读者可查阅Windows API函数或VB的联机帮助文件,这里就不一一赘述了。