Вниз
Скачать: CL | DM;

Синхронизировать скроллинг двух TRichEdit   Найти похожие ветки 

 
misha_gr   (2008-03-04 16:23) [0]

Как можно синхронизировать скроллинг двух TRichEdit"ов? Наподобие того, как это делается в Total Commander при сравнении двух файлов по содержимому?


 
misha_gr   (2008-03-04 19:42) [1]

Ползунки бегают, но вот содержимое не скроллится...
Чего не хватает?

procedure TFrameCompare.AdjustRichEdits(Sender : TObject);
var ThumbRes : longint; R : TRect; SI_Vert, SI_Horz: TScrollInfo;
begin
 if Sender = RichEdit1 then
 begin

   SI_Vert.cbSize := SizeOf(SI_Vert);
   SI_Vert.fMask  := SIF_ALL;
   GetScrollInfo(RichEdit1.Handle, SB_Vert, SI_Vert);

   SI_Horz.cbSize := SizeOf(SI_Horz);
   SI_Horz.fMask  := SIF_ALL;
   GetScrollInfo(RichEdit1.Handle, SB_HORZ, SI_Horz);

   AdjustEdit(SI_Vert, SI_Horz, RichEdit2);

 end
 else if Sender = RichEdit2 then
 begin

   SI_Vert.cbSize := SizeOf(SI_Vert);
   SI_Vert.fMask  := SIF_ALL;
   GetScrollInfo(RichEdit2.Handle, SB_Vert, SI_Vert);

   SI_Horz.cbSize := SizeOf(SI_Horz);
   SI_Horz.fMask  := SIF_ALL;
   GetScrollInfo(RichEdit2.Handle, SB_HORZ, SI_Horz);

   AdjustEdit(SI_Vert, SI_Horz, RichEdit1);

 end
end;

procedure TFrameCompare.AdjustEdit(const SI_Vert, SI_Horz: TScrollInfo; AControl : TWinControl);
var bRes : integer;
begin
 FAdjustment := true;
 try
   bRes := SetScrollInfo(AControl.Handle, SB_Vert, SI_Vert, true);
   bRes := SetScrollInfo(AControl.Handle, SB_Horz, SI_Horz, true);
   AControl.Refresh;
 finally
   FAdjustment := false;
 end;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
2-1226387812
Kesha
2008-11-11 10:16
2008.12.21
отправка рисунка на принтер


15-1224052782
AlekseyB
2008-10-15 10:39
2008.12.21
Вирус autorun.inf


2-1226216765
hinst
2008-11-09 10:46
2008.12.21
TMethod


8-1188408194
chipper
2007-08-29 21:23
2008.12.21
Реализация лимба виртуального прибора


2-1226312563
vegarulez
2008-11-10 13:22
2008.12.21
CLX + Flash. Как?




   Наверх