DragDropについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ざこ

DragDropについて

#1

投稿記事 by ざこ » 16年前

MFCでDragDropについて勉強しています。アプリケーション内のDragDropならDragするコントロールの位置
を取りDropする位置まできたらドロップする というのは大体ですがわかりました。ではアプリケーション外からは
どうなのでしょうか?例えばAというアプリケーションがあり、Bというテキストファイルがあります。
BをAにDragDropしてA内でBの内容を開く、 ということができるAを作りたいのですがやり方がわかりません。

●イメージ:Bの位置を随時レジストリか何かに入れ、Aの位置まで着たらAのテキストファイルを扱えるような
ディレクトリまで飛ばす、という風なイメージを考えたんですが何かおかしいきがします。

今プロジェクトの状態なのでアプリケーション化しなくてはできなさそうですがどうでしょうか
色々アドバイス下さい。

VC++6.0でやっています。

toyo

Re:DragDropについて

#2

投稿記事 by toyo » 16年前

MFCなら
CWnd::DragAcceptFiles(TRUE);

ざこ

Re:DragDropについて

#3

投稿記事 by ざこ » 16年前

それは調べたらすぐわかりました。少し色々試したんですがプログラムを実行し、例えばリストボックスなどに
DragDropしたテキストファイルを書き出す ということはできました。DragAcceptFilesでドラッグ許可もしております。しかしデスクトップ上に実行ファイルをおいて、そこにテキストファイルをDragDropした場合反応しません。

例えばごみ箱みたいにファイルをごみ箱へDragDropするとファイルがごみ箱の中へ移動する
感じに近いと思うのですがどうすればいいのでしょうか。

toyo

Re:DragDropについて

#4

投稿記事 by toyo » 16年前

実行ファイルのアイコンにドラッグですね
その場合はコマンドライン引数で受け取ります。
コンソールアプリ
int main(int argc, char* argv[ ])
の場合のargcとargvと同様にWin32アプリでは __argc と __argv[ ](wchar_t型の__wargv[ ]やTCHAR型の__targv[ ]も使えます)がグローバル変数として使えますよ。
GetCommandLine()でコマンドライン全体の文字列も受け取れます。

ざこ

Re:DragDropについて

#5

投稿記事 by ざこ » 16年前

なるほど、ちょっと知識不足ですのでコマンドラインについて勉強してきます。わからなかったらまた教えて下さい。ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る