ListViewのクリックイベントを発生させるには

解決


緒太助  2005-10-23 21:02:22  No: 126761  IP: [192.*.*.*]

こちらで選択方法を教えて頂きました。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200510/05100136.txt

今度は以下のクリックイベントに飛びたいのですが、例えば2行目をクリックしたようにしたい場合などはどのように指定したらよいでしょうか。

>>Private Sub ListView1_ItemClick(ByVal item As MSComctlLib.ListItem)

編集 削除
X_File  2005-10-23 21:21:14  No: 126762  IP: [192.*.*.*]

APIのSendMessageでもできますが
こんな感じでプロシージャをコールしては?

Call ListView1_ItemClick(ListView1.ListItems.Item(i))

編集 削除
緒太助  2005-10-23 21:57:25  No: 126763  IP: [192.*.*.*]

Callを付けずにクリックイベントを呼ぶとエラーが出ましたが、つけたら大丈夫になりました。
ありがとうございました。

ただ、これによってスクロールして見えないところを表示できると思いましたが、できませんでした。

現在、表示していたリストを消去し、データを読み直してリストを更新した時に前回の選択状態を保持しようとしています。

前回の質問によってそれができるようになりましたが、表示領域よりも下、つまりスクロールしないと見えないところの場合、リストを更新するとまたスクロールする必要が出てしまいます。

もし解決する方法があればよろしくお願いします。

編集 削除
特攻隊長まるるう  2005-10-24 09:24:26  No: 126764  IP: [192.*.*.*]

例えば
http://www.google.com/search?hl=ja&q=ListView%E3%80%80%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AB%E3%80%80%E9%81%B8%E6%8A%9E&lr=

編集 削除
緒太助  2005-10-24 10:26:01  No: 126765  IP: [192.*.*.*]

まるるさんの検索結果のサイトの多くから【EnsureVisible】を使うということがわかり、サンプルを見て

ListView1.EnsureVisible (2)

としてみましたがこれではできず、少々悩みましたが

ListView1.ListItems(2).EnsureVisible

としたところできました。
ありがとうございました。

編集 削除
緒太助  2005-10-24 10:26:27  No: 126766  IP: [192.*.*.*]

またチェックを忘れました…。orz

編集 削除