CListViewクラスでドラッグを検知するには? – プログラミング – Home

CListViewクラスでドラッグを検...
 
通知
すべてクリア

[解決済] CListViewクラスでドラッグを検知するには?


平井
 平井
(@平井)
ゲスト
結合: 23年前
投稿: 48
Topic starter  

VisualC++の質問です。

CListViewクラスでレポートビューを使用しています。
ドラッグによってアイテムの順番を入れ換えたいのですが、ドラッグイベント
を検知する方法が分かりません。

デフォルトの状態ですと、ドラッグしても表示に変化がありません。
ドラッグイベントが発生していないのでしょうか?

ドラッグの開始とドラッグ期間、ドラッグ終了が検知できればアイテムの交換
は実現できそうな気がしています。

よろしくお願い致します。


引用未解決
トピックタグ
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

>ヘッダー項目のドラッグ アンド ドロップをサポートするには、HDS_DRAGDROP スタイルを指定します。
>このスタイルを設定すると、ユーザーがヘッダー コントロール内でヘッダー項目の順序を変更できるように
>なります。デフォルト動作では、ドラッグ中のヘッダー項目が半透明イメージで表示されるので、
>ドロップ位置を視覚的に識別できるようになります。

とMSDNにあります。


返信引用
平井
 平井
(@平井)
ゲスト
結合: 23年前
投稿: 48
Topic starter  

Bunさんご回答ありがとうございます。
しかし、私が今実現したいのはヘッダーではなくアイテムのドラッグ&ドロップなのです。
よろしくお願い致します。


返信引用
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

CListCtrlの拡張スタイルで ドラッグドロップを許可 にチェックを入れてますか?


返信引用
平井
 平井
(@平井)
ゲスト
結合: 23年前
投稿: 48
Topic starter  

> CListCtrlの拡張スタイルで ドラッグドロップを許可 にチェックを入れてますか?

はい、入れています。外から中へのドラッグ&ドロップに関しては、
ファイルマネージャによるドラッグ&ドロップを実装しています。

先程、CView::Begindragなる関数を見つけました。この関数でドラッグの開始を検知
することが出来ましたので、もしかするとうまくいくかもしれません。
もう少し頑張ってみます。


返信引用
平井
 平井
(@平井)
ゲスト
結合: 23年前
投稿: 48
Topic starter  

おかげさまで目的を実現することができました。結局、
Begindrag関数でドラッグの開始を検知し、
OnLButtonUp関数でドラッグの終了を検知しました。

作業もようやく最終段階に入ってきました。
Bunさんご助言ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました