MFCでDragDropについて勉強しています。アプリケーション内のDragDropならDragするコントロールの位置
を取りDropする位置まできたらドロップする というのは大体ですがわかりました。ではアプリケーション外からは
どうなのでしょうか?例えばAというアプリケーションがあり、Bというテキストファイルがあります。
BをAにDragDropしてA内でBの内容を開く、 ということができるAを作りたいのですがやり方がわかりません。
●イメージ:Bの位置を随時レジストリか何かに入れ、Aの位置まで着たらAのテキストファイルを扱えるような
ディレクトリまで飛ばす、という風なイメージを考えたんですが何かおかしいきがします。
今プロジェクトの状態なのでアプリケーション化しなくてはできなさそうですがどうでしょうか
色々アドバイス下さい。
VC++6.0でやっています。
DragDropについて
Re:DragDropについて
それは調べたらすぐわかりました。少し色々試したんですがプログラムを実行し、例えばリストボックスなどに
DragDropしたテキストファイルを書き出す ということはできました。DragAcceptFilesでドラッグ許可もしております。しかしデスクトップ上に実行ファイルをおいて、そこにテキストファイルをDragDropした場合反応しません。
例えばごみ箱みたいにファイルをごみ箱へDragDropするとファイルがごみ箱の中へ移動する
感じに近いと思うのですがどうすればいいのでしょうか。
DragDropしたテキストファイルを書き出す ということはできました。DragAcceptFilesでドラッグ許可もしております。しかしデスクトップ上に実行ファイルをおいて、そこにテキストファイルをDragDropした場合反応しません。
例えばごみ箱みたいにファイルをごみ箱へDragDropするとファイルがごみ箱の中へ移動する
感じに近いと思うのですがどうすればいいのでしょうか。
Re:DragDropについて
実行ファイルのアイコンにドラッグですね
その場合はコマンドライン引数で受け取ります。
コンソールアプリ
int main(int argc, char* argv[ ])
の場合のargcとargvと同様にWin32アプリでは __argc と __argv[ ](wchar_t型の__wargv[ ]やTCHAR型の__targv[ ]も使えます)がグローバル変数として使えますよ。
GetCommandLine()でコマンドライン全体の文字列も受け取れます。
その場合はコマンドライン引数で受け取ります。
コンソールアプリ
int main(int argc, char* argv[ ])
の場合のargcとargvと同様にWin32アプリでは __argc と __argv[ ](wchar_t型の__wargv[ ]やTCHAR型の__targv[ ]も使えます)がグローバル変数として使えますよ。
GetCommandLine()でコマンドライン全体の文字列も受け取れます。