Как предотвратить прокрутку вне диапазона? - PullRequest
1 голос
/ 13 июля 2011

Я использую код

procedure TMyCanvas.RichEditChange(Sender: TObject);
var
  ScrollInfo: TScrollInfo;
begin

  FillChar(ScrollInfo, SizeOF(ScrollInfo), 0);
  ScrollInfo.cbSize := SizeOf(ScrollInfo);
  ScrollInfo.fMask := SIF_RANGE or SIF_PAGE or SIF_POS;
  if GetScrollInfo(FRichEdit.Handle, SB_VERT, ScrollInfo) then
  begin
    FVertScroll.Max := ScrollInfo.nMax;
    FVertScroll.Min := ScrollInfo.nMin;
    FVertScroll.PageSize := ScrollInfo.nPage;
    FVertScroll.Position := ScrollInfo.nPos;
  end;
  Invalidate;
end;

. Проблема в том, что когда я добавляю / удаляю строки, иногда возникает ошибка, когда я собираюсь изменить размер формы.там написано "свойство полосы прокрутки вне диапазона"

как мне избежать этого?

thanx

1 Ответ

3 голосов
/ 13 июля 2011

Вы можете попробовать установить свойство PageSize и вызвать SetParams, чтобы избежать установки отдельных свойств по одному.

...