WinXP .NET MFCです。
リストビューで、件数が多くてスクロールバーが出ている場合に、表示されている範囲を取得する方法がわかりません。
表示されている件数は取得できるので、最後の行番号か、最初の行番号がわかればいいのですが。
よろしくお願いいたします。
GetTopIndex() では?
すみません。
MSDNで見つけたのですが、最初の行を取得できないのです。
たとえば、リストの5行目を最上位に表示させておいて、
m_list1.SetFocus();
int n = m_list1.GetTopIndex();
としても、nには0が入ってしまいます。
なにか、思い違いしていますでしょうか。
CListView使ってリスト表示させて
ボタンを用意&クリックハンドラにて GetTopIndex()で値を取って CStaticエリアに表示させた所、問題なく動いてます。
(特にセットフォーカスとかやってません。)
同じ事を試してみてもダメですか?
ありがとうございました。
成功しました。
今まで、置いた場所が悪かったみたいです。
たいへん失礼しました。
重ねてすみません。
「解決」にチェックを入れるのを忘れました。
ツイート | ![]() |