• 首页
  • 教程
  • 资源
  • 脚本
  • 新闻
  • 会员
加入收藏  返回官网
你的位置:按键网资源站 >> 知识库

输入框

一、控件介绍

    在输入框中单击鼠标会出现插入点光标,我们可以直接在输入框中输入文字或文本信息。

二、创建控件

    创建输入输入框和之前创建标签的方法是一样的。在工具栏上点击输入框控件。移动鼠标到QUI的窗体上,这时鼠标就会变成“十”字形状,这就说明已经成功选择创建输入框了。然后,在编辑区域按住鼠标左键,框选一块区域,松开鼠标左键。这时界面上就创建出一个输入框出来了,如下图。

三、控件属性

    在QUI在输入框的属性总共有10项。其中有4个基本属性和5个位置属性外加1个其他属性(控件样式)。

  基本属性分别是:名称(Name)、显示(Visible)、有效(Enabled)、标题(Caption)。

  位置属性分别是:左边(Left)、上边(Top)、宽度(Width)、高度(Height)、显示顺序(ZOrder)。

  其他属性为“密码”。这个属性是为了提供满足用户们输入密码而设计的,当这个属性值为“是”时,在输入框输入的全都了“*”代替。并且该属性在QUI编辑时就已经设置好,在运行过程当中无法修改这个属性。

  (1)获取输入框的值

  输入框控件是制作界面中最使用的控件类型。主要是提供给用户输入使用的。所以在输入框的控件中最经常发生的一件事情就是获取输入框值的内容。

  和标签一样,输入框的内容我们也称它为文本。但是和标签不同的是,输入框文本对应的是Text。

  

  既然我们知道了输入框上的文本属性是通过Text来访问的。那么我们就在脚本里面获取内容来使用。

  在界面中创建一个输入框,默认输入框的名称是“InputBox1”。输入框的文本内容默认也是“InputBox1”。然后我们切换到脚本的源码视图,编辑代码获取文本框控件上的文本内容,并且将这个内容弹窗显示出来。

  MessageBox Form1.InputBox1.Text

  编辑完成后,点击【保存】,然后进入调试,点击【自定义界面】,可以看到刚才创建的输入框的内容。修改输入框里面的内容,比如修改成“ABCDEF”,点击【保存】,然后【确定】,最后关闭QUI窗体,点击【启动】。

  这时就可以看到弹出窗口里面显示着“ABCDEF”。

 

  这样子就可以获取到界面里面的值了,但是由于目前QUI的功能和OCX类似,所以每次修改界面上的值后必须保存,然后重新启动后,才可以获取到界面上最新的值。

  此外还需要注意的是,目前QUI和OCX最大的区别是不需要写UserVar了。所以当进入调试的时候我们必须先点击【自定义界面】功能,将QUI的窗口显示一次后脚本内才可以获取到这个值,不然脚本是无法获取到QUI控件上的值的。并且每次修改界面上的值后必须保存,然后重新启动后,才可以获取到界面上最新的值。

  如果你觉得目前获取QUI控件值的代码比较长的话,也可以在脚本的开头就定义一个变量,然后在脚本开始的时候就将输入框的值传递给这个变量,后面的脚本就可以通过使用这个变量而不需要写这么长的代码了。

  例如:

    Dim 输入框文本
    输入框文本 = Form1.InputBox1.Text
    MessageBox 输入框文本

    (2)密码输入框

    之前我们已经提到过文本框有一个其他属性——密码。如果将这个属性设置为“是”的话。那么输入的内容均会被“*”代替。我们选择创建的InputBox1输入框,然后在属性里面将密码属性设置为“是”。设置完成后,我们可以立刻看到控件上的内容已经用“*”代替了。如下图:

    修改属性后,点击【保存】,进入调试,点击【自定义界面】。也可以看到输入框里面的内容也全是“*”了。退出界面,启动脚本。和之前的情况一样,弹出来窗口并且显示的内容是“ABCDEF”。

四、控件事件

    目前输入框有两个事件:内容变化和失去焦点事件。

    内容变化事件:就是指输入框的内容发生了变化就会触发的事件。

    失去焦点事件:就是指当输入框失去输入焦点时触发的事件。

    (1)内容改变

    我们在平时使用软件的过程当中,特别是在输入信息的时候软件经常会弹出提示“非法格式,请重新输入”等。这其实就是运用了输入框的内容变化达到的效果。

    那么在输入框的文件改变事件怎么编写呢?

    我们选择之前创建的InputBox1。然后在属性栏的最下面的下拉框中选择“改变”。这时界面会切换到脚本源文件视图,并且按键精灵软件默认将该事件的代码插入到脚本里面了。

    Event Form1.InputBox1.Change
 
    End Event

   从这段代码我们可以看出输入框的内容改变事件名称是Change。我们只需要在Event和End Event中间添加代码,那么当输入框的内容发生变化后这个事件就会立即响应了。

    现在我们往事件里面添加一个弹窗口显示“输入框内容发生变化!”,做为输入框内容变化后的提示。

    代码编辑完成后,点击【保存】,进入调试,打开【自定义界面】。然后去修改输入框的内容或是删除输入框的内容均会弹出“输入框内容发生变化!”的提示框。

   

    (2)失去焦点

    当输入框失去输入焦点的时候就会触发失去焦点的事件。例如我们在网站注册账号的时候,通常在我们输入用户名后,把光标移到别的输入框的,如果你输入的用户名是网站已经存在的,它会提示“用户名存在”。这样子的情况就是通过失去焦点事件中进行检查然后反馈给用户的。

    那么在按键精灵中如何添加这样子的事件?

    和内容变更事件一样,同样是选中输入框控件,然后在属性栏右下角的事件下拉框中选择“失去焦点事件”。

   

    选中之后,会默认将这个事件的代码添加到编辑器中。

    Event Form1.InputBox1.LostFocus
        
    End Event

    为了验证这个功能的实际效果,我们同样在这个事件里面添加弹窗提示。

    Event Form1.InputBox1.LostFocus
        MessageBox "失去焦点了"
    End Event

    添加完代码后,同样保存脚本。然后进入调试,点击【自定义界面】。然后点击输入框,然后将鼠标移动到其他位置,并且点击。

   。。。

   这在点击其他位置的时候,并没有按原先的预想弹出“失去焦点了”的提示窗。这是为什么?其实点击窗体上的空白区域是不会导致输入框失去焦点的。所以这个时候是不会弹出窗口的。那么如何才可以让输入框失去焦点?

    1)点击其他控件(标签除外)或是其他区域。

    2)切换窗口。

    那么我们点击QUI窗体外面的【恢复默认】按钮,当点击完这个按钮后,立刻就弹出“失去焦点了”的提示窗了。或者进入当在输入框的时候切换窗口那是会触发这个事件的。或者是再创建一个输入框,然后在输入的时候点击其他输入框也会触发这个事件。这个你可以自己再尝试尝试。

 

    PS:范例脚本下载

    QUI输入框.Q(891 B )