文字列グリッドに同じ高さの行を持たせたい場合...
正確に 5 行から始まることはわかっているので、設計時にそうします。
実行時に余分な行を追加したい場合があります (親の下に追加しないコードがあります。その時点では、スクロール バーに依存しています)。
sg.height := sg.height + sg.RowHeights[0]; のようです。期待される結果を生成していません-最後の行の後に予期しない空白があります(余分な高さが行数にどのように対応するかを計算しようとしていますが、行数に関係なく、1行の高さのように見えますグリッド内にあります)。
他に考慮すべきことはありますか?(おそらく GridLineWidth?) または、オブジェクト インスペクタでプロパティを間違って設定した可能性がありますか? GridHeightではなく、を使用する必要がありHeightますか?
注: この問題は、stringgid がすべてのセルと同じ幅で、スクロール バーが表示され、最後の列の一部を描画している場合にのみ発生します。スクロール バーが収まるように、文字列グリッドの右側に醜い空白スペースを残しておけば、問題は発生しません。
行数を追加した後に新しいグリッド高さを計算する式を教えてもらえますか? または、私は何か間違ったことをしています。
[更新] ファッジ ファクター 3 がmarginプロパティに対応するように見えます
. TMS AdvStringGrid のイメージを次に示します。これは、多くの便利な拡張機能を備えた通常のストリング グリッドに大きく基づいていると思います。行を数えやすくするために、SnagIt を使用して画像を拡大し、ピクセルのグリッド線が見えるようにしました。グリッドの一番上の行に赤い線を追加しました。このグリッドでは、DefaultRowHeight は 21 に設定されています。赤い線の間にはそれぞれ 5 ピクセルあるため、DefaultRowHeight に 21 ピクセルを取得するには、高さ 1 ピクセルの stringgrid グリッド線を含める必要があります。このグリッドをロードするときは、次のコードを使用します。