利用 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 ) '
下卷一行且右

控制 TextBox 的滚动条的更多相关文章

  1. C#的winform中控制TextBox中只能输入数字

    C#的winform中控制TextBox中只能输入数字 private void textBox3_KeyPress(object sender, System.Windows.Forms.KeyPr ...

  2. Selenium 2自动化测试实战21【调用JavaScript(控制浏览器的滚动条)】

     一.调用JavaScript(控制浏览器的滚动条) WebDriver提供了execute_script()方法来执行JavaScript代码.用于调整浏览器滚动条位置的JavaScript代码如下 ...

  3. Winform Textbox实现滚动条始终在最下面

    在用textbox时,实现一些信息追加时,要使滚动条始终呆在最下面的实现方法. 以textbox1为例,事件TextChanged中执行以下代码即可 private void textBox1_Tex ...

  4. C#:让控件TextBox的滚动条保持在最下方

    //该事件让TextBox控件的滚动条始终保持在最下方        private void TextBox_TextChanged(object sender, EventArgs e)      ...

  5. Selenium(十三)调用js,控制浏览器的滚动条

    WebDiver 不能操作本地 Windows 控件,但对于浏览器上的控件也不是都可以操作的.比如浏览器的滚动条,虽然 WebDriver 提供操作浏览器的前进和后退按钮,但对于滚动条并没有提供相应用 ...

  6. jQuery---鼠标滚轮控制div横向滚动条左右移动

    HTML <div class="table-responsive"> <div class="fhtable" style="wi ...

  7. c#一个泛型控制Textbox 和label 控件 泛型方法。

    class ControlHelper { public static void ShowOnTxtLbl<T>(T control, string mess) where T : Sys ...

  8. C#winform控制textbox输入只能为数字

    添加keyPress事件,控制键盘输入只能是自然数: /// <summary> /// 控制键盘输入只能是自然数 /// </summary> /// <param n ...

  9. jquery控制div随滚动条滚动效果

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jquery div随滚动条 ...

随机推荐

  1. uva-10491-经典问题

    https://vjudge.net/problem/UVA-10491 有a个门后是牛,b个门后是车,一开始随机选一个门,然后主持人会打开c(c<a)个为牛的门,之后可以选择换门(这里要求总是 ...

  2. idea里面Java文件显示一个x

    idea里面Java文件显示一个x,编译时过滤了,setting->builder->compiler->excludes

  3. 在嵌入式设计中使用MicroBlaze(Vivado版本)

    原文Xilinx官方文档<ug898-vivado-embedded-design>第三章 一.MicroBlaze处理器设计介绍(略) 二.创建带有MicroBlaze处理器的IP设计 ...

  4. 原创:形象的讲解angular中的$q与promise

    promise不是angular首创的,作为一种编程模式,它出现在……1976年,比js还要古老得多.promise全称是 Futures and promises.具体的可以参见 http://en ...

  5. HDU2874Connections between cities( LCA )Tarjan

    Problem Description After World War X, a lot of cities have been seriously damaged, and we need to r ...

  6. 微信应用js-sdk自定义分享图文

    之前写过步骤 但是代码很少 这里奉献上我自己写的代码 我是用js做的 先奉上js部分的代码 <head> <meta charset="utf-8"> &l ...

  7. DesignPattern(二) 创建型模式

    创建型模式 创建型模式就是用来创建对象的模式,抽象了实例化的过程.所有的创建型模式都有两个共同点.第一,它们都将系统使用哪些具体类的信息封装起来:第二,它们隐藏了这些类的实例是如何被创建和组织的.创建 ...

  8. 白帽子讲web安全——白帽子兵法(设计安全方案中的技巧)

    1.Secure By Default原则 白名单:筛选出被允许的,屏蔽其他. 黑名单:屏蔽可能造成的威胁. 2.XSS和SSH XSS攻击:跨站脚本(cross site script)攻击是指恶意 ...

  9. graphcool-framework 一个基于graphql的后端开发框架

    特性 GraphQL database 启动便捷的数据迁移数据演变 Flexible auth 基于jwt 的认证 Realtime API 基于graphql 的Subscriptions High ...

  10. 写时复制和fork,vfork,clone

    写时复制 原理: 用了“引用计数”,会有一个变量用于保存引用的数量.当第一个类构造时,string的构造函数会根据传入的参数从堆上分配内存,当有其它类需要这块内存时,这个计数为自动累加,当有类析构时, ...