初めて投稿させていただきます。
いま、デスクトップ上のアイコンをドラックしてフォームに貼り付けようとしているのですが、
なかなか出来ません。
現在やっているやり方として、
ピクチャーフレームにドラックして、そこに貼り付けようとしています。
ファイル名からアイコンを取得して貼り付けようとしているのですが、
ファイル名を取得することは出来ても、アイコンを貼り付けることが出来ません。
やり方がまずいのでしょうか?よろしかったら教えてください。
ちなみにソースはこんな感じです。
If Data.GetFormat(vbCFFiles) Then
nFile = Data.Files(1)
MsgBox nFile
ret = ExtractIconEx(nFile, 0, L, S, 1)
DrawIconEx main.Picture1.hDC, 0, 0, L, 0, 0, vbNull, 0, DI_NORMAL
End If
DrawIconExは確かEXE形式しか駄目だったような?
もしEXE形式のアイコンを取得する場合、
DrawIconExの直前にExtractIconExでアイコンハンドルを取得しないと駄目です。
このサイトのAPIの所に(アイコンを描画する)を参考にしてください。
ファイルやフォルダ等に関連付けされているアイコンを
取得したい場合は、SHGetFileInfo()関数を使って、
ファイルシステムオブジェクトのアイコンを取得してください。
vbvbvb.comに行けばサンプル載ってますよ。
http://www.vbvbvb.com/jp/gtips/0951/gSHGetFileInfoShGfiIconShGfiLargeIcon.html
ツイート | ![]() |