ListViewのMultiSelectでCtrlとShiftを無効にするには?

解決


sora  2004-12-16 03:36:09  No: 87386

はじめまして。m(__)m

VB6.0でListViewを使っています。

ListViewには年月と幾つかの項目を表示させています。
ListViewをMultiSelectにして、選択されたリストと同一年月を
Selectした状態にしたいのですが、CtrlやShiftキーは
使用出来ないようにしたいのです。

CtrlキーやShiftキーを無効にする方法を教えてください。
よろしくお願いします。


de  2004-12-16 03:54:49  No: 87387

規定の動作以外の処理を組み込む労力があるのでしたら
素直にMSFlexGridとかを使って実現してはどうですか?

どうしてもListViewじゃないとだめってことなら
ListViewをサブクラス化してマウスダウンイベントを
場合によって無効化してやればできるかも。
(試してないので保証はできませんが)


de  2004-12-16 04:14:21  No: 87388

(ListViewで作るときの補足)
WM_LBUTTONDOWNのときMK_SHIFTとMK_CONTROLを調べて
イベントは無効化できるけど、リストビューの
何も無いところからマウスドラッグしても複数選択できるので
その対策も必要かと。


sora  2004-12-16 17:41:57  No: 87389

返答ありがとうございます。
早速試してみますね。


GOD  2004-12-16 20:16:32  No: 87390

マウスイベントのみに注意が行ってしまいがちですが、キーボードイベントでの
処理も忘れずに。
Ctrlを押下しながら上下左右キーで移動、スペースで選択とか。
Shiftを押下しながらPage Up/Downとか。


sora  2004-12-23 17:58:08  No: 87391

みなさん、いろいろご指導ありがとうございます。
なんとかキーを無効にすることが出来ました。
本当にありがとうございました。m(__)m


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

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






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