
No.2ベストアンサー
- 回答日時:
つまりLVN_BEGINDRAGのメッセージハンドラを追加しても呼び出されない、という状況ですね。
VisualC++.NET 2003 MFC使用 SDI CListViewのモードはreport という環境で試してみました。
LVN_BEGINDRAGのメッセージハンドラを追加した後、
リストビューのアイテムをドラッグしようとすると、このハンドラが呼び出されました。
reportモードにした他はスタイルを変更していません。
おおーー!!
そうです。まさにそうです。
reportモードにしたらLVN_BEGINDRAGのメッセージハンドラが呼び出されました。
これで後続処理が追加できます。
MASATO3さんありがとうございました。
No.1
- 回答日時:
私が前にリストビューからドラッグ&ドロップが可能なアプリケーションを作ったときは、
フラグを一つ立てればお終いというような簡単な話ではありませんでした。
結構大変だと思いますので御覚悟下さい。
今回の質問ですが、
(1) 一つのアプリケーションのウィンドウ内だけでドラッグ&ドロップが完結すれば良い
(2) それとも他のアプリケーション(デスクトップ含む)にまでドロップできるようにする
という2点のどちらを求めているのかによって答えがだいぶ変わります。
(1)の場合でしたら、
ドラッグ&ドロップの開始をLVN_BEGINDRAGメッセージハンドラで捕らえ、
CWnd::SetCaptureでマウスがウィンドウの外に出ても大丈夫なようにしておき、
ドロップをOnLButtonUpで捕らえてドロップ処理を行い、
ドロップ処理を行った後ReleaseCaptureでマウスを解放する、という流れになります。
(2)の場合でしたら、
ドラッグ&ドロップの開始をLVN_BEGINDRAGメッセージハンドラで捕らえ、
COleDataSourceインスタンスを作成し、
COleDataSourceインスタンスにドラッグ&ドロップ用のデータを設定し、
COleDataSource::DoDragDropを呼び出してドラッグ開始
ドロップ処理の方は外からのドラッグ&ドロップを捕らえる方法(COleDropTargetを使う方法)と
同じですので省略します。
(2)の方が大変だと思います。
「ドラッグ&ドロップ用のデータ」の形式など、上記以外に
調べることも考えることもたくさんあります。
もCOleDataSourceをキーワードに検索サイトで色々調べてみて下さい。
この回答への補足
実現させたいのは(1)です。
質問の補足なのですが、現状リストビューのアイテム自体がドラッグできない状態で、(アイテムを左クリックで選択はできるが、ドラッグでアイテムを掴めない)これは、Window生成時のスタイル指定が不足しているのでしょうか?
ですので現状は(1)よりさらに前です。
すいません。質問内容が薄かったです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
slick.jsによるスライダー実装...
-
【ASP2.0】TextBoxのフォーカス...
-
ACCESS2010 WEBブラウザーコン...
-
googleカスタム検索を導入する...
-
Javascriptの電卓を作る課題に...
-
間違えてアダルトサイトをクリ...
-
ホームページの作成について
-
VB2017で、WEBサイト...
-
document.titleでブラウザに表...
-
~SNSのシェアボタン多数をブロ...
-
動画を再生中/一時停止中にボタ...
-
JavaScriptでconfirmを使いたい...
-
JK-FFを用いた順序回路の作成方法
-
jquery
-
ボタンをクリックした時に、入...
-
onClickの処理を避けるためsubm...
-
Q&Aフォームを作成したいのです...
-
コンピュータへの接続数が最大...
-
コネクション・セッション・ト...
-
VBのこのコードの意味を教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数選択のListBoxでClickイベ...
-
ポストバック(__doPostback)へ...
-
C#でドラッグ&ドロップが機能し...
-
【ASP.NET】マスターページに配...
-
【VB6】 変数1 = 変数1 Or $H2
-
ポストバック時の画面スクロー...
-
ドラッグドロップ(AllowDrop)に...
-
【ASP2.0】TextBoxのフォーカス...
-
aspxファイル実行時の表示順に...
-
slick.jsによるスライダー実装...
-
Ctrl+vのイベントを解除
-
リストビュー内でのドラッグ&...
-
DragEnterイベントについて(VS...
-
自作exeを常駐させるとPCがシャ...
-
ページ切り替え時の動作 (Page...
-
VBAで一時中断したプログラムの...
-
getParameterで値が取得できず...
-
Accessの画面更新を一時的に停...
-
コネクション・セッション・ト...
-
DataGridViewのチェックボック...
おすすめ情報