delphi发送消息控制滚动条使用示例_Delphi

1、Perform 函数

复制代码 代码如下:

DBGrid1.Perform(WM_VSCROLL,SB_PAGEDOWN,0); //控制滚动条,向后翻页
DBGrid1.Perform(WM_VSCROLL,SB_PAGEUP,0); //控制滚动条,向前翻页

2、SendMessage 函数

复制代码 代码如下:

SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEDOWN,0);
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEUP,0);

3、PostMessage 函数

复制代码 代码如下:

PostMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEDOWN,0);
PostMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEUP,0);

注明:(2、3函数的区别)
PostMessage只是把消息放入队列,不管其他程序是否处理都返回,然后继续执行;
而SendMessage必须等待其他程序处理消息后才返回,继续执行。
PostMessage的返回值表示PostMessage函数执行是否正确;
而SendMessage的返回值表示其他程序处理消息后的返回值。
使用这两个发送消息函数的最重要的是要看你的程序是否要对消息的滞后性关注否,PostMessage会造成消息的滞后性,而SendMessage则不会,但如果SendMessage消息处理失败,则会造成程序停止!

时间: 2024-09-24 23:53:20

delphi发送消息控制滚动条使用示例_Delphi的相关文章

delphi发送消息控制滚动条使用示例

本文为大家详细介绍下delphi实现发送消息控制滚动条,主要函数及用法如下,感兴趣的朋友可以参考下哈   1.Perform 函数 复制代码 代码如下: DBGrid1.Perform(WM_VSCROLL,SB_PAGEDOWN,0); //控制滚动条,向后翻页 DBGrid1.Perform(WM_VSCROLL,SB_PAGEUP,0); //控制滚动条,向前翻页 2.SendMessage 函数 复制代码 代码如下: SendMessage(DBGrid1.Handle,WM_VSCRO

Delphi实现获取句柄并发送消息的方法_Delphi

本文以实例形式详细说明了Delphi获取句柄并发送消息的方法,具体用法说明如下: 查找另外一个窗口的句柄: handle := FindWindow(nil,PChar('窗口的标题'));//查到窗体句柄 查找子窗体: childHandle := FindWindowEx(handle,0,'子窗体类','子窗体标题'); 另外有个枚举子窗体的API, EnumChildWindows(主创体句柄,@回调函数,用户参数); 用这个函数需要自己写一个回调的函数,比如: function Enu

Delphi获取句柄并发送消息!

Delphi获取句柄并发送消息 查找另外一个窗口的句柄: handle := FindWindow(nil,PChar('窗口的标题'));//查到窗体句柄查找子窗体:childHandle := FindWindowEx(handle,0,'子窗体类','子窗体标题'); 另外有个枚举子窗体的API,EnumChildWindows(主创体句柄,@回调函数,用户参数);用这个函数需要自己写一个回调的函数,比如:function EnumChildProc(ahWND:HWND; param:L

Android仿微信发送语音消息的功能及示例代码

微信的发送语音是有一个向上取消的,我们使用onTouchListener来监听手势,然后做出相应的操作就行了. 直接上代码: //语音操作对象 private MediaPlayer mPlayer = null; private MediaRecorder mRecorder = null; //语音文件保存路径 private String FileName = null; FileName = Environment.getExternalStorageDirectory().getAbs

vb中使用Windows消息控制Winamp

第一部分:得到Winamp的窗口 Winamp是一个32位的Windows应用程序.也就是说,我们可以使用32位的Windows编程的一些基础技术来实现控制Winamp,即使用Windows的消息系统.在你给Winamp发送消息之前,你必须得到Winamp窗口的句柄.这里有个方法,使用外部应用程序(例如你自己编写的VB应用)就可以达到要求. Public Declare Function FindWindow Lib "user32" Alias "FindWindowA&q

用Java向IPMSG发送消息

飞鸽传书(IP Messenger,简为IPMsg)是一个小巧方便的即时通信软件,它适合用于局域网内甚至广域网间进行实时通信和文档共享.特别是在局域网内传送文件/文件夹的速度非常快! IPMsg 是一款局域网内即时通信软件, 基于 TCP/IP(UDP). 可运行于多种操作平台(Win/Mac/UNIX/Java), 并实现跨平台信息交流. 不需要服务器支持. 支持文件/文件夹的传送 (2.00版以上) 通讯数据采用 RSA/Blofish 加密 (2.00版以上) 十分小巧, 简单易用, 而且

关于后端RestAPI发送消息接口

问题描述 环信RestAPI发送消息的接口与客户端发消息接口有什么区别或者关系?比如,我是不是要在自己的app后端中对环信发送消息RestAPI进行封装调用,然后客户端再调用我自己后台的方法来发送消息? 解决方案 后台直接调用rest接口就可以发   https://github.com/easemob/emchat-server-examples  服务端示例demo

Handler详解系列(三)——在子线程中给主线程的消息队列发送消息

MainActivity如下: package cc.c; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.w

[原创]在msmq3.0中使用http协议发送消息

1.先声明: msmq3.0仅在winxp和win2003以上系统支持,如果windows vista系统,据说已经开始支持msmq4.0了 2.为什么要使用http协议发送消息 访问internet远程发送消息时,msmq2.0以上就已经开始支持tcp方式了,但是如果外网的服务器与发送端之间有防火墙或其它网络设备隔离,或者服务器上的tcp所需要的端口未开放,tcp方式将无法发送,而http协议使用的是默认的80端口,一般服务器都会开放这一端口,另外只有http协议可以穿透防火墙 3.msmq3