词条 | LineScroll |
释义 | 利用 EM_LINESCROLL 信息控制 TextBox 的卷动。 在含有卷动轴的 TextBox 中, 如何以程序控制 TextBox 的卷动? 传送 EM_LINESCROLL 信息给 TextBox 控制文件,方法是调用 SendMessage API 函数,细节如下: 1. API 的声明: Const EM_LINESCROLL = &HB6 Private Declare Function SendMessageBynum Lib "user32" Alias " SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long 注:如果以上的声明放在「一般模块」底下, 应在 Const 之前加上 Public 保留 字, 并且将 Declare 之前的 Private 保留字去掉。 2. 调用范例: ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, 0, 1 ) ' 下卷一行 ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, 0, -1 ) ' 上卷一行 ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, 1, 0) ' 右卷一列 ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, -1, 0) ' 左卷一列 ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, 1, 1 ) ' 下卷一行且右 卷一列 注:以上的 Text1 为 TextBox 的名称。 CRichEditCtrl::LineScroll void LineScroll( int nLines, int nChars = 0 ); 参数: nLines 指定垂直滚动的行数。 nChars 指定水平滚动的字符数。如果带格式编辑控件是ES_RIGHT或ES_CENTER风格,则这个值被忽略。编辑风格在Create中指定。 说明: 此成员函数用来滚动一个多行编辑控件的文本。 编辑控件不能用来垂直滚动过编辑控件的最后一行。如果当前行的行号再加上nLines指定的行数超过了编辑控件中的总行数,则将调整这个值,以使在滚动到编辑控件中的最后一行后再滚动到控件顶部的行。 LineScroll可以水平滚动过任意行的最后一个字符。 更多的信息,参见Win32文档中的EM_LINESCROLL。 请参阅:CRichEditCtrl::LineIndex |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。