リストビューの表示されている範囲を取得するには

解決


ども  2006-02-01 03:54:13  No: 60620

WinXP  .NET  MFCです。

リストビューで、件数が多くてスクロールバーが出ている場合に、表示されている範囲を取得する方法がわかりません。

表示されている件数は取得できるので、最後の行番号か、最初の行番号がわかればいいのですが。

よろしくお願いいたします。


Toshi  2006-02-01 04:07:16  No: 60621

GetTopIndex() では?


ども  2006-02-01 04:28:03  No: 60622

すみません。
MSDNで見つけたのですが、最初の行を取得できないのです。

たとえば、リストの5行目を最上位に表示させておいて、

m_list1.SetFocus();
int n = m_list1.GetTopIndex();

としても、nには0が入ってしまいます。

なにか、思い違いしていますでしょうか。


Toshi  2006-02-01 04:41:13  No: 60623

CListView使ってリスト表示させて
ボタンを用意&クリックハンドラにて GetTopIndex()で値を取って CStaticエリアに表示させた所、問題なく動いてます。
(特にセットフォーカスとかやってません。)
同じ事を試してみてもダメですか?


ども  2006-02-01 04:51:16  No: 60624

ありがとうございました。

成功しました。

今まで、置いた場所が悪かったみたいです。

たいへん失礼しました。


ども  2006-02-01 05:41:27  No: 60625

重ねてすみません。

「解決」にチェックを入れるのを忘れました。


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

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






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