Вниз
Скачать: 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
15-1224564830
Slider007
2008-10-21 08:53
2008.12.21
С днем рождения ! 21 октября 2008 вторник


1-1204636982
misha_gr
2008-03-04 16:23
2008.12.21
Синхронизировать скроллинг двух TRichEdit


15-1224641568
Slider007
2008-10-22 06:12
2008.12.21
С днем рождения ! 22 октября 2008 среда


15-1224237256
balepa
2008-10-17 13:54
2008.12.21
BPascal


15-1223971637
123-ий
2008-10-14 12:07
2008.12.21
Работа с Drupal CMS




   Наверх