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

解決


ヨシ  2007-11-01 01:02:27  No: 66708

いつもお世話になります。
わからないことがでてきたので質問させてください。
開発環境↓
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-11-01 01:19:50  No: 66709

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


ヨシ  2007-11-01 01:36:17  No: 66710

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

m_listview->EnsureVisible(300,FALSE);


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加