タイトル : 原因は Dock の設定かな? 投稿日 : 2005/10/26(Wed) 18:53 投稿者 : るしぇ
あ。色々と操作しててちょっと分かったかも?…コードのミスとかじゃなくって 設計上のミスというか仕様上、当然の事というか…。 えっと、MDI子画面1つだけを考えて下さい。(MDIである事は関係ありませんが) まず、正常な大きさで表示します。そのまま手動でどんどんフォームの 高さを短くしていって下さい。当然 FlexGrid の表示領域(領域B)が 狭くなっていきますよね? >あるときFrexGrid部分が表示されなくなります。 それはつまり子フォームの高さがリストボックスをちょうど表示 できる高さの時ですね?その時の FlexGrid の表示領域は?…高さ0!!! スクロールバーを表示しようにも表示領域がありません。Dock による設定がそーゆー設定ですからね?。 ちなみにもっと狭くすればリストボックスを表示するスクロールバー は表示されます。Dock の設定が Top ですから。 では矛盾を解決して下さい。Dock の設定が Fill …つまり空いている 表示領域を埋める…ので領域Bの高さが0以下の時、埋める領域が無い。 表示領域も無い。…でどこにスクロールバーを表示しましょうか? また、スクロールバーをスクロールして表示させたい FlexGrid の セルはどの場所に表示しましょうか??? 1つの解決法はそんな状態にしない事です。子フォームの高さが リストボックスの高さより小さくなった場合にリストボックスの 高さを調整するとか…。親フォームのサイズを一定の大きさ以下に できないようにするとか…。 |