VB6でフレックスグリッドテーブルの高さを計算し、塗りつぶした行の数だけをどのように計算しますか?テーブルの高さを正確に計算する方法
現在
myFlexGrid.Height = (myFlexGrid.CellHeight * myFlexGrid.Rows) ' paraphrased from code
行あたりの短い約3ピクセルで出てきます。魔法の数を増やすことはちょっとハッキリしており、これに頼ることなくこれを達成したいと思っています。
更新: 問題を複雑にするには、複数行のセルも処理する必要があります。
実際には、私は見つけることができません:ユーザーが120dpiモードで実行している場合、12 twipsは1ピクセルに等しいです。しかし、このような半恣意的な数字の追加は、私が避けようとしているものです。 –
私はまた、複数行のセルを扱う必要があることを発見しました。 –
コントロールが明示的にオートハイト機能をサポートしていないか、すべてのUI要素の高さの値を公開しない限り、マジックナンバーの使用を避けることはできません。これは、コントロールが黒いボックスとして設計されているためです。あなたのロジックがここで複雑になるようですが、フレックスグリッドをコントロールクラスの中にラップしてそこにオートハイト機能を追加して、メインルーチンのコードがきれいになるようにすることをお勧めします。 –