在前面两节里,我们学到了 VB 的操作方法,以及 Label 与 TextBox 控件的使用方法,现在我们用这两节学到的知识来做一个简单的文本编辑器。
一、程序最终目的:
用户可以在程序的编辑窗口输入文本;对输入的文本可以进行复制、粘贴、清除操作;另外,还能在两个标签上分别显示选中文本的起始位置、选中文本的长度。
二、界面设置:
根据程序的要求,我们需要制作一个文本框控件(TxtContent),它将做为程序的输入窗口;另外还有四个按钮,分别是复制按钮(CmdCopy)、粘贴按钮(CmdPaste)、清除按钮(CmdClear)、退出程序按钮(CmdQuit);此外,还需要两个用来显示所选文本起始位置的标签一(LblStart)和显示所选文本长度的标签二(LblLength)。
最终界面如图一:
图一
请大家仿照图一制作。
三、属性设置:
如图一所示,但请注意,文本框控件的 Multiline(多行)属性要设置为 True ,这样,文本框才能自动换行。如图二:
图二
四、程序书写:
1、文本框(TxtContent)的鼠标事件:
对文本的选择,可以理解为这样的过程:先在欲选择的文本前点击鼠标,按下左键不放,拖动鼠标直到选择文本的结束处,最后松开鼠标。这说明,松开鼠标代表着文本选择的结束,从而应该在文本框的鼠标弹起事件(MouseUp)中书写代码,以改变两个标签的标题。
具体代码如下:
Private Sub TxtContent_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) '括号中这一长串内容大家不必管它,这主要是产生位移时的坐标变动。 LblStart.Caption = "起始位置:" & TxtContent.SelStart LblLength.Caption = "文本长度:" & TxtContent.SelLength End Sub |
注意:这个 “&”符号表示将两个字符串连接起来。另外如: A & B ,结果是 AB ;ABC & EFG ,结果是 ABCEFG ,等等。
2、复制按钮的点击事件:
Private Sub CmdCopy_Click() Clipboard.SetText TxtContent.SelText End Sub |
3、粘贴按钮的点击事件:
Private Sub CmdPaste_Click() TxtContent.SelText = Clipboard.GetText End Sub |
4、清空按钮的点击事件:
Private Sub CmdClear_Click() TxtContent.Text = "" End Sub |
5、退出程序按钮的点击事件:
Private Sub CmdQuit_Click() End 'End 在 VB 中,代表程序结束,用它可以直接退出程序。 End Sub |
五、运行调试:
按 F5 键,或者点按运行按钮,这个简单的文本编辑器可以用了吗?
六、控件的一些基本操作:
在 VB “菜单栏”中有一个“格式”命令,通过它提供的一些功能可以让我们的工作事半功倍。
1、对齐:
分别是纵向对齐的“左对齐”、“居中对齐”、“右对齐”;横向对齐的“顶端”、“中间”、“底端”对齐;以及面向网格的“网格对齐”。它们的功能非常简单,你只需随意绘制几个控件,然后选择它们,再试着使用相关命令就能掌握了。如图三是随意绘制的程序界面:
图三
全部选中后,使用“左对齐”的结果如图四:
图四
也许你要问,这个对齐是以哪一个控件做为参照物的?再仔细看看图三,那个 Command1 按钮四周是八个实心的黑色小点,而其他控件则是白色的小点,现在你知道了吧,正是以 Command1 按钮为参照物进行对齐的,也就是说你最后选择的那一个控件。
2、统一尺寸:
以某个控件为参照物,统一其他控件的大小尺寸。
3、水平间距与垂直间距:
调整某几个控件的水平间距或垂直间距。
活用上面几个操作,将使你的工作事半功倍!