现有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;