您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 开发专栏 > VB开发 > 正文
·速成电脑精英(包分配)白领高薪一族从这里开始



-Java套接字编程(下)
-MediaStudio Pro 6.5教程
-三款卸载软件最新试用
-基于Visual C++的Winsock API研究

消息传递在VB中的应用
2001-11-30· ·苏耀勇··yesky

上一页  1 2 3 4  下一页


  第二个实例:TextBox的消息

消息 用途
EM_LINESCROLL 以行为单位,卷动TexBox
EM_SCROLL 以行或页为单位,卷动TexBox
EM_GETLINECOUNT 读取TextBox的总行数
EM_GETLINE 读取某一行的字符串
EM_LINEINDEX 读取某一行的第一个字符在TextBox中的索引
EM_LINELENGTH 读取某一字符索引所在行次的"行字符数"
EM_CHARFROMPOS 读取鼠标所在位置的字符索引
EM_SETSEL 设置选取区域

  在窗体上放置好相应的控件,如下:


  在模块中定义好所需要的变量和函数:

Public Const EM_SCROLL = &HB5 '以行或页为单位,卷动TexBox
Public Const SB_LINEUP = 0 '上卷一行
Public Const SB_LINEDOWN = 1 '下卷一行
Public Const SB_PAGEUP = 2 '上卷一页
Public Const SB_PAGEDOWN = 3 '下卷一页
Public Const EM_LINESCROLL = &HB6 '以行为单位,卷动TexBox
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

  双击Command,写入以下代码:

Private Sub Command_Click(Index As Integer)
 Select Case Index
  Case 0
   SendMessage Text1.hwnd, EM_SCROLL, SB_PAGEUP, ByVal 0&'上卷一页
  Case 1
   SendMessage Text1.hwnd, EM_SCROLL, SB_LINEUP, ByVal 0&'上卷一行
  Case 2
   SendMessage Text1.hwnd, EM_SCROLL, SB_LINEDOWN, ByVal 0&'下卷一行
  Case 3
   SendMessage Text1.hwnd, EM_SCROLL, SB_PAGEDOWN, ByVal 0&'下卷一页
  Case 4
   'Text1.text用来输入水平方向行数的TextBox,Text2.text:用来输入垂直方向行数的TextBox
   '因为lParam采用"As Any"的定义方式,所以我们传入是一定要将参数强制设置成Long类型
   SendMessage Text1.hwnd, EM_LINESCROLL, Val(Text1.text), ByVal CLng(Val(Text2.text))
 End Select
End Sub

上一页  1 2 3 4  下一页

【责任编辑:方舟】
【发表评论】【关闭窗口】
■ 相关内容
 用Visual Basic设计Windows门禁程序
 用Visual Basic设计Windows门禁程序
 VB6中用DataReport做报表
 “回调”(CallBacks)的实现
 利用VB编写屏幕保护程序
 枚举出局域网上所有网络资源
 妙用GetSystemMetrics函数
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!