TStringGridでのスクロールバーの幅は?


すけさん  2002-03-15 13:29:58  No: 673  IP: [192.*.*.*]

グリッドのセル幅をカラム数によって決定するために
次のようにしました。
しかし、これだと縦スクロールバーの幅が入っていないため??に、
表示すると、横スクロールバーが表示されてしまいます。
下の例で、もう一度Button1をクリックすると横スクロールバーが消えて
再表示されますが、最初から横スクロールバーを表示させないで表示
させる方法はなでしょうか?(縦スクロールバーの幅がわかれば
下記の計算式の中に含めてできるような気がしますが。)
他の方法でも構いませんが、なにか方法があれば教えていただけないでしょうか。
ちなみに、下記の式を  Grid1DrawCell  内で書いたら、横スクロールバーは
なくなるのですが、画面がちらつき表示になってしまいました。
説明がうまくできなくてすみません。

例)
procedure TForm1.Button1Click(Sender: TObject);
    :
    :
zGrWidth := (Grid1.ClientWidth - Grid1.GridLineWidth * Grid1.ColCount) div Grid1.ColCount;
//幅設定
Grid1.DefaultColWidth := zGrWidth;

編集 削除
OverQ  2002-03-24 17:40:37  No: 674  IP: [192.*.*.*]

なんかよくわかりませんが、GetSystemMetricsを使うのは
どうでしょう?

  Label3.Caption := IntToStr(GetSystemMetrics(SM_CXVSCROLL));

編集 削除