Форум: "Основная";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
Внизпрокрутка РичЕдит Найти похожие ветки
← →
Dmitrij_K (2005-10-31 11:04) [0]привет,
в риче надо запомнить позицию курсора и скрол бара, чтобы после изменений текста полностью восстановить картинку
делаю так, но прокручивается не на то место где было
procedure RESaveSelPos(re:TRichEdit);
begin
re.Perform(EM_GETSEL, INTEGER(@save_sel.selstart), INTEGER(@save_sel.selend));
save_sel.line_nom := re.Perform(EM_LINEFROMCHAR, save_sel.selstart,0);
save_sel.scroll := GetScrollPos(re.Handle, SB_VERT);
end;
procedure REloadSelPos(re:TRichEdit;bol:Boolean);
var g:Integer;
begin
if bol then re.Perform(EM_SETSEL, save_sel.selstart, save_sel.selend)
else begin
g := re.Perform(EM_LineIndex, save_sel.line_nom, 0);
re.Perform(EM_SETSEL,g,g);
end;
SetScrollPos(re.Handle, SB_VERT, save_sel.scroll, false);
end;
помогите пожалуйста
← →
Leonid Troyanovsky © (2005-10-31 11:59) [1]
> Dmitrij_K (31.10.05 11:04)
> в риче надо запомнить позицию курсора и скрол бара, чтобы
> после изменений текста полностью восстановить картинку
Вообще-то, у RichEdit есть SelStart, SelLength.
А для управления скролом служат сообщения EM_SCROLL*.
--
Regards, LVT.
← →
Dmitrij_K (2005-10-31 12:45) [2]координаты курсора я могу сохранить и восстановить, а вот положение скрола не получается
(
← →
Leonid Troyanovsky © (2005-10-31 14:48) [3]
> Dmitrij_K (31.10.05 12:45) [2]
> координаты курсора я могу сохранить и восстановить, а вот
> положение скрола не получается
var
SavedRange : TCharRange;
Line : Longint;
{сохраняем}
RichEdit1.Perform( EM_EXGETSEL, 0, LParam(@SavedRange));
Line := RichEdit1.Perform(EM_GETFIRSTVISIBLELINE, 0, 0);
..
{восстанавливаем}
RichEdit1.Perform( EM_EXSETSEL, 0, LParam(@SavedRange));
RichEdit1.Perform( EM_LINESCROLL,
0,
Line-RichEdit1.Perform(EM_GETFIRSTVISIBLELINE, 0, 0));
Возможно, что пригодится:
RichEdit1.Perform(WM_SETREDRAW, WParam(False), 0);
RichEdit1.Perform(WM_SETREDRAW, -1, 0);
--
Regards, LVT.
← →
Dmitrij_K (2005-10-31 15:01) [4]огромное спасибо
работает
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c