コマンドボタンにアイコンを表示


KENT  2009-09-09 10:09:33  No: 142515

コマンドボタンにEXEのアイコンを表示させたいのですが方法が分かりません。SHGetFileInfo()関数を使いアイコンの取得までは分かるのですが、コマンドボタンのPictureに表示する方法が分かりません。
VB6を使用しています。


subaru  2009-09-10 01:59:10  No: 142516

OleCreatePictureIndirect を使うと
アイコンハンドルからVB6のPictureオブジェクトに変換できます。


KENT  2009-09-10 08:18:00  No: 142517

subaruさん、ありがとうございます。OleCreatePictureIndirectについて自分なりに調べてみたのですが、難しすぎて理解できません。何か参考になるサイトなりありませんでしょうか?


subaru  2009-09-10 23:16:44  No: 142518

グーグル先生に聞いて最初に出てきたページですが参考になりますか?
http://support.microsoft.com/kb/161299/ja

上記ページの CreateBitmapPicture 関数ではビットマップの変換なので、
OleCreatePictureIndirect の第1引数に渡す
PICTDESC 構造体をアイコン用に修正してください。

こんな感じで定義しておけばいいと思います。

Type PICTDESC
    cbSizeofstruct As Long
    picType As Long
    hicon As OLE_HANDLE
    reserved1 As Long
    reserved2 As Long
End Type


魔界の仮面弁士  2009-09-11 00:25:24  No: 142519

検索例として。

http://www.google.co.jp/codesearch?hl=ja&lr=&q=OleCreatePictureIndirect+icon+lang%3Abasic


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加