DELPHI的滚动条默认发送消息格式:

function TControl.Perform(
Msg: Cardinal;
WParam: WPARAM;
LParam: LPARAM
): LRESULT;
如:Memo1.Perform(WM_HSCROLL, SB_LEFT, 0);

水平滚动条 消息 WM_HSCROLL
SendMessage(Memo1.Handle, WM_HSCROLL, MAKEWPARAM(SB_THUMBPOSITION, 50), 0); //滚动至此
SendMessage(Memo1.Handle, WM_HSCROLL, SB_LEFT, 0); //左边缘
SendMessage(Memo1.Handle, WM_HSCROLL, SB_RIGHT, 0); //右边缘
SendMessage(Memo1.Handle, WM_HSCROLL, SB_PAGELEFT, 0); //向左翻页
SendMessage(Memo1.Handle, WM_HSCROLL, SB_PAGERIGHT, 0); //向右翻页
SendMessage(Memo1.Handle, WM_HSCROLL, SB_LINELEFT, 0); //向左滚动
SendMessage(Memo1.Handle, WM_HSCROLL, SB_LINERIGHT, 0); //向右滚动

垂直滚动条 消息 WM_VSCROLL
SendMessage(Memo1.Handle, WM_VSCROLL, MAKEWPARAM(SB_THUMBPOSITION, 50), 0); //滚动至此 50为位置 滚动到指定行号
SendMessage(Memo1.Handle, WM_VSCROLL, SB_TOP, 0); //顶部
SendMessage(Memo1.Handle, WM_VSCROLL, SB_BOTTOM, 0); //底部
SendMessage(Memo1.Handle, WM_VSCROLL, SB_PAGEUP, 0); //向上翻页
SendMessage(Memo1.Handle, WM_VSCROLL, SB_PAGEDOWN, 0); //向下翻页
SendMessage(Memo1.Handle, WM_VSCROLL, SB_LINEUP, 0); //向上滚动
SendMessage(Memo1.Handle, WM_VSCROLL, SB_LINEDOWN, 0); //向下滚动

//获得滚动条的位置
The GetScrollPos function retrieves the current position of the scroll box (thumb) in the specified
scroll bar. The current position is a relative value that depends on the current scrolling range.
For example, if the scrolling range is 0 through 100 and the scroll box is in the middle of the
bar, the current position is 50.

{GetScrollPos函数检索指定滚动条中滚动框(拇指)的当前位置。当前位置是一个相对值,取决于当前滚动范围。
例如,如果滚动范围为0到100,并且滚动框位于条的中间,则当前位置为50。}

int GetScrollPos(
HWND hWnd,
int nBar
);
var
h, v: Integer;
begin
h := GetScrollPos(Memo1.Handle, SB_HORZ);
v := GetScrollPos(Memo1.Handle, SB_VERT);
Caption := Format('水平数值=%d 垂直数值=%d', [h, v]);
end;

//显示和隐藏滚动条
ShowScrollBar(Memo1.Handle,SB_HORZ,false); //隐藏MEMO水平滚动条
ShowScrollBar(Memo1.Handle,SB_VERT,false); //隐藏MEMO垂直滚动条

//判断 滚动条是否出现
procedure TForm1.Button1Click(Sender: TObject);
begin
  if (GetWindowlong(Memo1.Handle, GWL_STYLE) and WS_VSCROLL) > 0 then ShowMessage('垂直滚动条显示');
  if (GetWindowlong(Memo1.Handle, GWL_STYLE) and WS_HSCROLL) > 0 then ShowMessage('水平滚动条显示');
end;
  

Delphi 滚动条的使用的更多相关文章

  1. delphi 判断是否出现滚动条

    delphi 判断是否出现滚动条     if (GetWindowlong(Stringgrid1.Handle, GWL_STYLE) and WS_VSCROLL) <> 0 the ...

  2. WM_SYSCOMMAND包括很多功能,比如:拖动左边框、拖动标题栏、滚动条滚动、点击最小化、双击标题栏——Delphi 通过事件代替了大部分常用的消息,所以Delphi 简单、易用、高效

    procedure TForm1.WMSysCommand(var Message: TWMSysCommand); var str: string; begin case Message.CmdTy ...

  3. delphi 如何让ScrollBox的内容与滚动条一起实时滚动

    delphi 如何让ScrollBox的内容与滚动条一起实时滚动 拖动滚动条后只有释放鼠标键,ScrollBox的内容才会滚动到实际位置,不爽.请问高人,怎样才能使拖动ScrollBox的滚动条的同时 ...

  4. 一、Delphi中Cxgrid表格滚动条粗细设置

    1.Delphi VCL新版本的Cxgrid滚动条默认是触屏模式(如下图),很细的滚动条,在电脑版显示非常不方便. 2.如果需要改成传统的滚动条模式,需要设置一下LookAndFeel里面的Scrol ...

  5. 自绘LISTVIEW的滚动条(Delphi实现)

    因项目需要准备对LISTVIEW的滚动条进行自绘.于是在网上搜了一下,问题没解决,却搜出一篇令人不愉快的帖子 .确实,那时候实力是不够的,但现在应该是没问题了,为这个目的才不断磨练自己的. LISTV ...

  6. delphi 去掉TreeView水平滚动条

        使用API函数:声明 FUNCTION ulong ShowScrollBar(ulong hwnd,ulong wBar,ulong bShow) LIBRARY "user32. ...

  7. Delphi中TFlowPanel实现滚动条效果

    由于TFlowPanel中没有设置滚动条的相关属性.所以我们只好另辟溪径.再加一个tscrollbox来实现. 具体操作如下: 1,先添加一个Tscrollbox,设置其align为alclient. ...

  8. delphi 发送消息控制滚动条

    1.Perform 函数 DBGrid1.Perform(WM_VSCROLL,SB_PAGEDOWN,0);  //控制滚动条,向后翻页 DBGrid1.Perform(WM_VSCROLL,SB_ ...

  9. delphi Timage 加上滚动条方法

    elphi Timage 加上滚动条方法 1:将  Timage 放入 TScrollBox内,即   [1]设image1.parent:= ScrollBox1;   [2]在Object Ins ...

随机推荐

  1. python 中字符串中含变量方法

    1. 简单粗鲁的字符串拼接 1 name = "abc" 2 age = 25 3 info = "the name is "+name +"\nth ...

  2. KVM主机迁移

    目录 新主机kvm初始环境的部署 I.检查主机cpu是否支持虚拟化 II.宿主机软件安装 III.检查kvm模块是否加载 IV.网桥的搭建 V.查看宿主机网络 迁移kvm主机数据 I.查看宿主机上现有 ...

  3. python3 实现简单ftp服务功能(服务端 For Linux)

    转载请注明出处! 功能介绍: 可执行的命令: lspwdcd put rm get mkdir 1.用户加密认证 2.允许多用户同时登陆 3.每个用户有自己的家目录,且只可以访问自己的家目录 4.运行 ...

  4. 【leetcode】1006. Clumsy Factorial

    题目如下: Normally, the factorial of a positive integer n is the product of all positive integers less t ...

  5. 【leetcode】207. Course Schedule

    题目如下: There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have ...

  6. boost pointer container

    1. boost::ptr_vector #include <boost/ptr_container/ptr_vector.hpp> #include <iostream> i ...

  7. php number_format()函数 语法

    php number_format()函数 语法 number_format()函数怎么用? php number_format()函数表示通过千位分组来格式化数字,语法是number_format( ...

  8. windows 下redis在后台运行

    打开命令终端,cd进入redis目录 安装redis服务:redis-server --service-install redis.windows.conf --loglevel verbose re ...

  9. Codechef March Cook-Off 2018. Maximum Tree Path

    目录 题意 解析 AC_code @(Codechef March Cook-Off 2018. Maximum Tree Path) 题意 给你一颗\(n(1e5)\)个点有边权有点权的树,\(Mi ...

  10. VMware Workstation Pro 15.5.0 官方版本及激活密钥

    0x01:下载连接: https://download3.vmware.com/software/wkst/file/VMware-workstation-full-15.5.1-15018445.e ...