- - PR -
ListViewでアイテムをドラッグ中のマウス座標
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-03-09 00:04
質問させてください。
ListView(View.Details)でアイテムをドラッグしている最中の マウスポインタの位置を取得する方法をご教示ください。 的はずれなものもございますが念のため下記のイベントで 取得を試みようと思いましたが、いずれもドラッグしている マウスポインタを移動させてもそれを追従するようにイベントが 発生せず、逐次マウスの座標を取得できません。 ItemDrag DragEnter DragDrop DragOver MouseMove 特に、MouseMoveはマウス左ボタンを押したまま移動させるぶんには 取得できるのですが、アイテムをドラッグすると、とたんに無反応に なります。 ドラッグの開始地点や終了地点だけではなく、ドラッグしている 最中のマウス座標も逐次取得したいのでイベントでの処理かと 思っているのですが、この辺り宜しければご教示いただけたら幸いです。 宜しくお願いします。 環境 Windows XP Pro SP2 VS 2005 C# 2005 .NET FrameWork 2.0 [ メッセージ編集済み 編集者: Knuckle 編集日時 2006-03-09 00:05 ] | ||||
|
投稿日時: 2006-03-09 00:19
QueryContinueDrag イベントはどうでしょ。 | ||||
|
投稿日時: 2006-03-09 00:26
おかしいですね。DragOverでいいはずなんですが。 判定したいコントロールのAllowDropプロパティはTrueになっていますか? | ||||
|
投稿日時: 2006-03-09 00:41
Hongliang様、まどか様
早いご回答ありがとうございます。 早速検証した結果、お二方がご教示して下さった QueryContinueDrag MouseMove 双方のイベントでマウスの座標を取得できました。 検証した結果「マウスの座標を取得する」という処理だけに関しては、 アイテムドラッグ中は、マウスを動かさなくても(静止させていても) イベントが発生続ける。 といった動作でした。 もちろん、私の求めている処理にはうってつけなので助かりました。 本当にありがとうございました。どうか今後とも宜しくお願いします。 #まどか様のご指摘に関して どうやら、ここに書き込むまでの検証の過程で MouseOverイベントの登録とAllowDropプロパティをTrueにする ということを同時にしていなかったようで、どちらか片方が有効な 状態でやっておりました。ケアレスミスですね。精進します。 |
1