• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

用SendMessage滚动文本框控件的内容

发布: 2007-6-21 21:57 | 作者: -  | 来源: 学vb找王国荣  | 查看: 21次 | 进入软件测试论坛讨论

领测软件测试网

   
  在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键来执行该程序。在文本框控件中键入一些文本。 单击左命令按钮,文本将被往左滚动一个字符。单击右命令按 钮,文本将被往右滚动一个字符的位置。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网