ファイルアイコンをドラグ&ドロップして貼り付けたい – プログラミング – Home

ファイルアイコンをドラグ&ドロップして...
 
通知
すべてクリア

ファイルアイコンをドラグ&ドロップして貼り付けたい


haruko
 haruko
(@haruko)
ゲスト
結合: 19年前
投稿: 38
Topic starter  

ディスクトップなどのファイルアイコンをドラッグして、ウィンドウに貼り付けたいと思ってい
ます。ビュークラスにWM_DROPFILESメッセージのハンドラを追加しましたが、うまくいきませ
ん。
OnDropFiles(HDROP hDropInfo)
同じくフレームクラスにハンドラを追加して、DragAcceptFoles(TRUE)関数を追加すると、フ
ァイルが開いてしまいます。アイコンのみを貼り付けたいのですが、どのようにすれば良いので
しょうか。
超初心者ですいません。よろしくお願いいたします。
環境は、VC6++,MFC,WIN98です。


引用解決済
トピックタグ
超初心者
 超初心者
(@超初心者)
ゲスト
結合: 23年前
投稿: 139
 

面倒な気がする。
D&DだとWM_DROPFILESでファイルパスが得られるけど、
そこから色々努力しないといけなそう。

EXEなどならリソースの最初にあるアイコンだな。

TXTやDLLとかの拡張子は関連付けから得るのかな。
方法は知りません。

ショートカットからアイコンを得る方法は知りません。
ショートカットはリンク先のEXEとは別のファイルのアイコンをつけられるし、
小さい矢印がついてたりなかったり。

こんな具体的な方法ではない回答ですみません。


返信引用
moto
 moto
(@moto)
ゲスト
結合: 21年前
投稿: 3
 

SHGetFileInfo でアイコンの取得ができると思いますよ。

SHFILEINFO shfi;
SHGetFileInfo(ファイル名, FILE_ATTRIBUTE_ARCHIVE, &shfi, sizeof(SHFILEINFO),
SHGFI_ICON);

などで、SHFILEINFO を取得して、後は、shfi.hIcon にアイコンのハンドルが入るので、
DrawState などで表示できると思います。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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