none
ListViewでチェックボックスを使う場合、画面のデザインによって、行の高さが変わる RRS feed

  • 質問

  •  

    ListViewでチェックボックスを使う場合(CheckBoxes=true)に、画面のデザインによって、行の高さが変わる現象が確認されました。

    表示されるチェックボックスの大きさが、変わってしまい、結果として、1行の高さが変わっているようです。

     

    以下の2つの状況で試してみました。

    OS : WindowsXP SP3

     

    1. 画面のデザインでXPスタイルを選択し、フォントサイズを特大(or 大)にした場合

    2. 画面のデザインでクラシックスタイルを選択し、フォントサイズを特大(or 大)にした場合

     

    1の場合は「ListViewに設定されているフォントサイズ」に依存した高さ(チェックボックスの大きさ)になりますが、

    2の場合は「画面のデザインで設定したフォントサイズ」に依存した高さ(チェックボックスの大きさ)になってしまいます。

     

    ただし、「ListViewに設定されているフォントサイズ」が「画面のデザインで設定したフォントサイズ」より大きい場合は、

    1、2を問わず「ListViewに設定されているフォントサイズ」に依存した高さ(チェックボックスの大きさ)になります。

     

    使っているコモンコントロールライブラリのバージョン違いによる現象と思われますが、どちらかの動作に統一はできないものでしょうか?それとも不具合でしょうか?

    この現象に関する情報をお持ちの方がいらっしゃいましたが、ご教授願います。

     

    ちなみに、CheckBoxコントロールに関しては、この様な現象は発生しません。

    2008年11月26日 5:20

回答

  • MSDN に v4 系(Visual Style がオフ) では、システムフォントが使用されることが明記されているので、仕様だと認識すべきでしょうね。
     
    動作を統一したいのであれば、ステート画像を自前で管理するのが簡単確実で手早いと思います。
     
    2008年11月28日 13:48

すべての返信

  • MSDN に v4 系(Visual Style がオフ) では、システムフォントが使用されることが明記されているので、仕様だと認識すべきでしょうね。
     
    動作を統一したいのであれば、ステート画像を自前で管理するのが簡単確実で手早いと思います。
     
    2008年11月28日 13:48
  • こんにちは。中川俊輔 です。

     

    K.Takaokaさん、回答ありがとうございます。

     

    ないとーさん、フォーラムのご利用ありがとうございます。

    その後いかがでしょうか?

    有用な情報と思われたため、K.Takaokaさんの回答へ回答済みチェックをつけさせていただきました。

    追加の質問等ありましたら、ぜひ投稿してみてください!

     

    今後ともフォーラムをよろしくお願いします。

    それでは!

    2008年12月4日 9:07