用SendMessage滚动文本框控件的内容
2008-04-09 04:39:53来源:互联网 阅读 ()
![新老客户大回馈,云服务器低至5折](/info/templets/default/images/760x90_D.jpg)
在文本框控件中滚动
在下面的样例程序中,连接到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键来执行该程序。在文本框控件中键入一些文本。 单击左命令按钮,文本将被往左滚动一个字符。单击右命令按 钮,文本将被往右滚动一个字符的位置。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash