上一页 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 下一页 |