ダルメシアン


ダルメシアン  2006-01-28 08:45:21  No: 60583  IP: 192.*.*.*

リストビューでのドラッグ&ドロップで、マウスポインタを移動中に、マウスポインタのある行を、一時的に青色反転表示させる方法がわかりません。

マウスポインタが動いている間、その座標にあるリストビューの行を次々に青色反転表示させていきたいと思いました。

ツリービューでは、SelectDropTargetで実現できるのですが、MSDNを探しても、ネット検索させても、リストビューでそれに対応するものを見つけることができません。

アドバイスをお願いいたします。

WINXP  .NET  MFC  です。

編集 削除
ダルメシアン  2006-01-28 08:47:34  No: 60584  IP: 192.*.*.*

すみません。タイトルに名前を書いてしまいました。

改めて、新規で質問しなおしたほうが、いいでしょうか。

編集 削除
シャノン  2006-01-28 22:17:35  No: 60585  IP: 192.*.*.*

LVS_EX_UNDERLINEHOT でいかがでしょう?  反転表示ではありませんが…
どうしても反転表示したいのなら、カスタムドローを使うことになるかと思います。

編集 削除
ダルメシアン  2006-01-29 05:56:54  No: 60586  IP: 192.*.*.*

LVS_EX_UNDERLINEHOT と LVS_EX_ONECLICKACTIVATE で、アンダーラインを引くことはできたのですが、これだとマウスが乗った時は常にアンダーラインが表示されてしまいます。

ドラッグ&ドロップ中だけ、アンダーラインが表示される、よい方法はありませんでしょうか。

ネット検索したら、WM_MOUSEMOVEとHittestを組み合わせる、みたいなことを書いたサイトがありましたが、実際のコードは載っていませんでした。
全然ピンときません。

フラグをたてて、SetExtendedStyleのところで拡張スタイルあり/なしを振り分け、再描画させたらどうだろうと思ったのですが、それもなんだか気が利きません。

アドバイスをお願いいたします。

編集 削除