现有RichEdit1和RichEdit2两个Richedit。当RichEdit1滚动时RichEdit2也跟着滚动。
而触发滚动事件的动作有:1、点击滚动条 2、鼠标滑轮
而我这里使用的办法是监听RichEdit1的消息。当RichEdit1触发
而触发滚动事件的动作有:1、点击滚动条 2、鼠标滑轮
而我这里使用的办法是监听RichEdit1的消息。当RichEdit1触发
WM_VSCROLL或WM_MOUSEWHEEL消息时,把相同的消息转发给RichEdit2已达到效果

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
RichEdit2: TRichEdit;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
FRichEditNewWndProc, FRichEditOldWndProc: Pointer;
procedure RichEditNewWndProc(var Msg: TMessage);
public
{ Public declarations }
end;
var
Form1: TForm1;
im

本文介绍了如何在接收到WM_VSCROLL或WM_MOUSEWHEEL消息时,通过转发消息来实现两个RichEdit控件的同步滚动效果。
最低0.47元/天 解锁文章
949

被折叠的 条评论
为什么被折叠?



