Форум: "Основная";
Текущий архив: 2008.12.21;
Скачать: [xml.tar.bz2];
ВнизСинхронизировать скроллинг двух 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 вся ветка
Форум: "Основная";
Текущий архив: 2008.12.21;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.05 c