VS2008や2010で、MFC標準のダイアログベースで作成し、レポート形式のリストビューを
置き、
CListCtrlのメンバ(m_list)を用意した状態で、OnInitDialog()内で
m_list.InsertColumn(0, _T(0000), LVCFMT_LEFT, 300);
m_list.InsertColumn(1, _T(1111), LVCFMT_LEFT, 300);
m_list.InsertColumn(2, _T(2222), LVCFMT_LEFT, 300);
m_list.InsertColumn(3, _T(3333), LVCFMT_LEFT, 300);
と書いただけなのですが、起動時にスクロールバーが表示されません。
カラムの境界を少しでもドラッグすると初めて表示されます。
Windows7で発生し、同じものをXPで動かすとちゃんと表示されるのですが、
これはWindows7のバグと考えるべきなのでしょうか?
それとも、XPでたまたま動いていただけで、なにか足りない処理でもありますでしょうか?
コモンコントロールのバージョンによる不具合だと思います。
StdAfx.h のコモンコントロール関係の所を
コメントアウトすると XP と同じになります。
もしくは最後に m_list.Scroll(CSize(0, 0)); を追加すれば
スクロールバーが出るようになります。
ありがとうございます。
Windows7のコモンコントロールのバグだろうということですね。
教えていただいた方法で回避することができました。
過去のソースに同じような方法でカラムを設定していた箇所が多くあります。
それらをWindows7で動かすのが怖いです。