私は、SetBorderStyle(Forms.pas) は以下のようにコーディングされるべきだったと思います(太字 = 追加行)。こうすればコンポーネントのロード中に AutoScroll を変更しようとはしません。
procedure TCustomForm.SetBorderStyle(Value: TFormBorderStyle);
begin
if FBorderStyle <> Value then
begin
FBorderStyle := Value;
if not (csLoading in ComponentState) then
AutoScroll := FBorderStyle in [bsSizeable, bsSizeToolWin];
if not (csDesigning in ComponentState) then RecreateWnd;
end;
end;
VCL のソースコードを変更したくない場合の回避方法は、フォームの OnCreate ハンドラの中に "AutoScroll := False" を記述することです。
|