- ベストアンサー
VisualC++6.0 で アイコンのドラッグ&ドロップ
デスクトップ上のデータファイルアイコンを 実行ファイルにD&Dして起動し、起動したプログラムから データファイルのフルパスを得たいと思っています。 VisualC++6.0を使用して、ダイアナログベースで 作成しています。DragAcceptFiles、OnDropFiles 等を使うと思うのですが、使い方が分かりません。 初心者ですがよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ダイアログベースのアプリケーションならCWinAppのクラスのInitInstance()内に AfxMessageBox(theApp.m_lpCmdLine); を加えてビルドしてEXEを作成してください。 で、そのEXEのアイコンにファイルのアイコンをドロップしてみてください。 メッセージボックスにファイル名が表示されるはずです。
その他の回答 (2)
- osaosa42
- ベストアンサー率60% (20/33)
EXEのアイコンにファイルのアイコンをD&Dするんでいいんでしょうか? もしそうなら、 「theApp.m_lpCmdLine」からコマンドライン引数でドロップしたファイル名が取れます。 (theAppは、CWinApp) 質問を取り違えていたらすんません。
補足
初歩的な質問ですいません。 コマンドライン引数とはint main(int argc,char *argv[]) このようなメイン関数のことでしょうか? もしそうでしたら、ダイアログベースででのメイン関数への 記述方法を教えて欲しいのですが・・・。 よろしくお願いします。
「猫でもわかるプログラミング」という有名なサイトに載っています。 ただしこれはSDKベース(自分でメッセージ(イベント)を振り分ける)なので、その点は意識してください。 たとえばOnDropFiles()に相当する処理は、この例でのswitch文の“case WM_DROPFILES:”以下に相当します。
補足
少ししか、見ていないのですが、自分に最適な サイトを教えていただきありがとうございます。 まだ、質問内容自体は、解決してないのですが、 このサイトを、根気よく見ていけば、時が解決して くれそうな気がします。
お礼
早速作ってみたところ、見事に表示されました。 どうもありがとうございます。 これから、C++を勉強しまして、レベルを上げてから 質問したいと思います。