リストコントロール内の内容をつまみの位置に持ってくるには?

解決


ヨシ  2007-10-31 16:02:27  No: 66708  IP: 192.*.*.*

いつもお世話になります。
わからないことがでてきたので質問させてください。
開発環境↓
Windows XP Professional Version 2002 Service Pack2
Microsoft Visual Studio .NET 2003
MFC Application

やりたいことは、リストコントロールのデータ数が多いとき、
スクロールバーが出てきますが、そのときの初期表示画面をデータの中央部の指定位置にしてやりたい。
そこで、次のようにプログラムし、スクロールバーのつまみの位置を設定させようとしたのですがうまくいきませんでした。
現象は、つまみの位置は設定できるのだが、そのときにデータの先頭部が表示されるというものです。
きちんと、つまみ部のデータを表示させたいのですが、どのようにやればよいのかわかる方、
ご教授宜しくお願いします。

CListCtrl* m_listview;
m_listview->SetScrollRange(SB_VERT,0,500,TRUE);
m_listview->SetScrollPos(SB_VERT,300,TRUE);

編集 削除
シャノン  2007-10-31 16:19:50  No: 66709  IP: 192.*.*.*

スクロールバーを直接動かすのではなく、EnsureVisible を使ってみるとか。

編集 削除
ヨシ  2007-10-31 16:36:17  No: 66710  IP: 192.*.*.*

解決しました。
↓のようにプログラムしてうまくいきました。
どうもありがとうございました。

m_listview->EnsureVisible(300,FALSE);

編集 削除