C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: リストビューに表示されているアイテムの数について


(過去ログ 109 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■64636 / inTopicNo.1)  リストビューに表示されているアイテムの数について
  
□投稿者/ dig (6回)-(2012/12/12(Wed) 15:55:21)

分類:[C#] 

(VS .NET3.5 C#)

こんにちは。
お世話になります。

現在私はリストビューをLargeIcon, VirtualModeをOn, OwnerDrawをOnで使用しています。
タッチパネル対応ソフトのため、指で押すには小さいスクロールバーを非表示にし、ボタンによるスクロールを行おうと思っております。

そこで画面のリストビュー内に表示されているアイテム数を知りたいのですが、何かよい方法ありますでしょうか?
(全体のアイテム数ということではありません。)

やはり自分で計算して求めるという形になるのでしょうか?

よろしくお願いします。
引用返信 編集キー/
■64637 / inTopicNo.2)  Re[1]: リストビューに表示されているアイテムの数について
□投稿者/ バナナ (1回)-(2012/12/12(Wed) 16:35:48)
例えばリストビューの外枠からはみ出ているアイテムは、リストビュー内アイテムとしてカウントしますか?
あと、スクロール原点(X=0,Y=0)の時のリストビュー内アイテムの数が必要ですか?
それとも、任意のスクロール位置でのリストビュー内アイテムの数が必要ですか?
(後者の場合、スクロール位置によって数は変わってきます)
引用返信 編集キー/
■64639 / inTopicNo.3)  Re[1]: リストビューに表示されているアイテムの数について
□投稿者/ howling (146回)-(2012/12/12(Wed) 16:50:45)
No64636 (dig さん) に返信

すみません、試せていませんが、OwnerDrawを使用しない場合は以下のやり方で行の高さが取れるようです。
(ImageListなんて使うんかい!と思うんですが…)
あとは、全体の高さをそれで割ってやって、余りが出たら1追加してintでくくってやればいいような。

http://social.msdn.microsoft.com/Forums/ja/csharpgeneralja/thread/0067f039-7d9d-4743-be5b-dbe73614791f

で、OwnerDrawの場合って、おそらく自分で1つ1つ書くわけですよね?
てことは、その引数の値にEventArgsがあると思うんですが、
それにBoundsって無いですかね?
それが書く領域のサイズだと思うので、それがこの高さに当たると思うのですが…。

ひとまず、行の高さを調べてみてはいかがでしょう?
引用返信 編集キー/
■64641 / inTopicNo.4)  Re[2]: リストビューに表示されているアイテムの数について
□投稿者/ dig (7回)-(2012/12/12(Wed) 23:17:27)
No64637 (バナナ さん) に返信
> 例えばリストビューの外枠からはみ出ているアイテムは、リストビュー内アイテムとしてカウントしますか?
> あと、スクロール原点(X=0,Y=0)の時のリストビュー内アイテムの数が必要ですか?
> それとも、任意のスクロール位置でのリストビュー内アイテムの数が必要ですか?
> (後者の場合、スクロール位置によって数は変わってきます)

できれば任意のスクロール位置でのリストビュー内に表示されているアイテム数、インデックスを取得できる関数があればいいなと思っております。MSDNを見てもそれらしいpublic関数がなかったもので質問させていただきました。

やっぱり原点位置に表示されたリストビュー内のアイテム数を計算し、ボタンクリックイベントでEnsureVisible(現在地+アイテム数)という形になるのでしょうか?これだとウィンドウサイズを変えられた時なんかを想定したときに大変なんで...。


No64639 (howling さん) に返信
>すみません、試せていませんが、OwnerDrawを使用しない場合は以下のやり方で行の高さが取れるようです。
>(ImageListなんて使うんかい!と思うんですが…)
>あとは、全体の高さをそれで割ってやって、余りが出たら1追加してintでくくってやればいいような。
>http://social.msdn.microsoft.com/Forums/ja/csharpgeneralja/thread/0067f039-7d9d-4743-be5b-dbe73614791f
>で、OwnerDrawの場合って、おそらく自分で1つ1つ書くわけですよね?
>てことは、その引数の値にEventArgsがあると思うんですが、
>それにBoundsって無いですかね?
>それが書く領域のサイズだと思うので、それがこの高さに当たると思うのですが…。
>ひとまず、行の高さを調べてみてはいかがでしょう?

やはり自分で計算しなきゃダメなのでしょうかね...。
引用返信 編集キー/
■64674 / inTopicNo.5)  Re[2]: リストビューに表示されているアイテムの数について
□投稿者/ dig (8回)-(2012/12/15(Sat) 15:26:47)
2012/12/15(Sat) 15:27:14 編集(投稿者)
2012/12/15(Sat) 15:27:05 編集(投稿者)
2012/12/15(Sat) 15:27:02 編集(投稿者)

どうやら方法はないようですね。

その都度リストビューのサイズから表示アイテム数を計算するという方法で
やっていこうと思います。

回答された方皆様にお礼申し上げます。ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -