Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
RetrieveVirtualItemイベントを起こすには
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30514#CommentId84088
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
RCB
 (社会人)
投稿日時
2020/7/23 19:35:37
るきお様、回答ありがとうございます
説明が足りなくてすみませんでした
まず、モードはラージアイコンです
MultiSelectの処理が特殊なため(Trueで修飾キー無しで複数選択出来るように)MouseUpで処理しています
でFalseの時は選択すると同時に直前の選択を解除しないといけない訳です
(なので選択/解除はSelectedIndeciesではなく完全に自前で管理しています)
その選択/解除の描画はDrawItemイベントで行っているのですがそのDrawItemイベントはRetrieveVirtualItemイベントがおきないと呼ばれません
そのRetrieveVirtualItemイベントがマウスクリック時に「クリック(選択)したアイテムの分しか」発生しません
ここで「選択解除したアイテムの分も」イベントが起こって欲しいわけです
(でないとDrawItemイベントが起きません)
DrawItemイベントが呼び出されさえすれば描画は出来ております
要はどうやってその余分なDrawItemを呼び出すか、なのです
直接呼び出せればいいんですけどねえ…(でもBoundsどうするの?って…)