在Visual Basic中,可以通过程序使文本框控件中的内容进行滚
动,而不用等待用户单击滚动条控件。通过使用Windows API的SendMe
ssage函数,可以将一个或多个滚动消息发送给系统,由此来实现上述 功能。 在文本框控件中滚动
在下面的样例程序中,连接到Left命令按钮上的代码将文本框中 的内容向左移动一个字符的位置。当用户单击了文本框控件上的水平
滚动条时,该消息被发送到窗口。然而,在这个程序中,是在用户单击 命令按钮时发送该消息。
要控制滚动行为的方向,必须告诉SendMessage函数将一个WM_HSC
ROLL消息发送到文本框控件中,并在wParam参数中指定方向参数。下 面是可以在wParam参数中指定的有效设置: SB_LEFT
往左边移动较多部分 SB_RIGHT 往右边移动较多部分 SB_LINELEFT
往左边移动一个单元 SB_LINERIGHT 往右边移动一个单元
可见,要将文本框中的文本向左移动一个字符,可以将wParam参数 设置为SB_LINELEF
T;要将文本框中的内容向右移动一个字符,则将wP aram参数设置为SB_LINERIGHT,等等。 样例程序
该程序显示了如何使用SendMessage函数来滚动文本框控件中的 内容。 1.在Visual
Basic中开始一个新的工程,采用缺省的方法建立For m1。 2.将如下常量和声明语句添加到Form1的通用声明部分中(注意该
声明语句需要书写在一行内): Private Declare Function SendMessage Lib "user32" Alias
"SendMessageA"(B yVal hwnd As Long, ByVal wMsg As Long, ByVa l wParam As
Integer, ByVal lParam As Long) As Long Const SB_LINERIGHT = 1 Const
SB_LINELEFT = 0 Const WM_HSCROLL = &H114
3.在Form1上添加一个文本框控件,采用缺省的方法建立Text1。
将其MultiLine属性设置为True,ScroolBars属性设置为3-Both。
4.在Form1上添加一个命令按钮控件,采用缺省的方法建立Comman d1。 将其Caption属性设置为"左"。
5.将如下代码添加到Command1的单击事件中: Private Sub Command1_Click() Dim
X As Long X = SendMessage(Text1.hwnd, WM_HSCROLL, SB_LINELEFT, ByV al
0&) End Sub 6.在Form1上添加第二个命令按钮控件,采用缺省的方法建立Comm and2,将其Caption
属性设置为"右"。 r> 7.将如下代码添加到Command2的单击事件中: Private Sub Command2_Click()
Dim X As Long X = SendMessage(Text1.hwnd, WM_HSCROLL, SB_LINERIGHT,
By Val 0&) End Sub 按下F5键来执行该程序。在文本框控件中键入一些文本。
单击左命令按钮,文本将被往左滚动一个字符。单击右命令按 钮,文本将被往右滚动一个字符的位置。
[VB.NET程序]GSM短信模块库函数,可以用VB,VC,调用简单实用 [办公软件]PowerPoint做交互课件之弃用VBA [办公软件]VBA获取U盘、主板、CPU序列号和网卡MAC地址 [办公软件]VBA设置文件属性及加密源代码示例 [办公软件]VBA中初始化ADO连接的几种方法 [网络安全]“VB破坏者变种N”病毒摘要 [Web开发]ASP.NET上传文件到数据库VB版 [办公软件]在Excel中利用VBA实现多表单元格数据的读取与赋值… [办公软件]使用Vba读取已关闭的Excel工作薄数据到当前工作表… [办公软件]Excel编程基础之VBA文件操作详解