![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Параллельная прокрутка двух TMemo
Байрам © (2006-04-20 14:40:00)Есть два Memo(!),
текст находящийся в них неодинаковый,
зато одинаковое количество строк.
Как лучше сделать позиционировать текст во втором мемо
относительно прокрутки первого?
Байрам (2006-04-20 17:12:00) [1]Спасибо
Zeqfreed (2006-04-20 16:26:00) [2]
. . .
const
WM_SCROLLNOTIFY = WM_USER + 234;
type
TScrollMemo = class(TMemo)
private
procedure WMVScroll(var Msg : TMessage); message WM_VSCROLL;
end;
TMemo = class(TScrollMemo);
TForm1 = class(TForm)
Memo1: TMemo;
Memo2: TMemo;
private
procedure WMScrollNotify(var Msg : TMessage); message WM_SCROLLNOTIFY;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TScrollMemo }
procedure TScrollMemo.WMVScroll(var Msg: TMessage);
begin
inherited;
if (Msg.LParam <> -1) then
SendMessage(Parent.Handle, WM_SCROLLNOTIFY, Msg.WParam, Handle);
end;
{ TForm1 }
procedure TForm1.WMScrollNotify(var Msg: TMessage);
var
i : Integer;
begin
for i := 0 to ComponentCount - 1 do begin
if (Components[i] is TMemo) then
with (Components[i] as TMemo) do begin
if (Handle <> Msg.LParam) then
SendMessage(Handle, WM_VSCROLL, Msg.WParam, -1);
end;
end;
end;
. . .
Мефисто (2006-04-20 15:58:00) [3]FAQ, статьи, поиск еще. Гдето это уже было.