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


すけさん  2002-03-15 22:29:58  No: 673

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

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


OverQ  2002-03-25 02:40:37  No: 674

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

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


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加