1

私はコードを使用します

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;

問題は、行を追加/削除すると、フォームのサイズを変更しようとすると時々エラーが発生することです。「スクロールバーのプロパティが範囲外です」と表示されます

どうすれば回避できますか?

ありがとう

4

1 に答える 1

3

プロパティを設定し、個々のプロパティを1つずつ設定しないようPageSizeに呼び出すことを試みることができます。SetParams

于 2011-07-13T09:25:51.253 に答える