Exeファイル等からアイコンを取得して描画する
Exeファイル等からアイコンを取得して描画するサンプルです。
サンプルの実行画面
ソースコード
[DrawIconEx.frm]
'DrawIconEx=>アイコンを描画する '<引数> 'hDC: 絵画先ハンドル 'xLeft: 絵画位置 (Left) 'Top: 絵画位置 (Top) 'hIcon: アイコンハンドル 'cxWidth: 転送する横幅 'cyWidth: 転送する縦幅 'istepIfAniCur: アニメートアイコンのフレーム番号 'hbrFlickerFreeDraw: 背景のブラシ 'diFlags&: 定数(DI_××参照) Private Declare Function DrawIconEx Lib "USER32" (ByVal hDC&, ByVal xLeft&, ByVal yTop&, ByVal hIcon&, ByVal cxWidth&, ByVal cyWidth&, ByVal istepIfAniCur&, ByVal hbrFlickerFreeDraw&, ByVal diFlags&) As Long 'ExtractIconEx =>アイコンハンドルを取得する '<引数> 'lpszFile: ファイル名 'nIconIndex: アイコンインデックス 'phiconLarge: 大きいアイコンのハンドルが入る 'phiconSmall: 小さいアイコンのハンドルが入る 'nIcons: 取り出すアイコンの数 '@戻り値@ ' エラーの時 -1 Private Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String, ByVal nIconIndex As Long, phiconLarge As Long, phiconSmall As Long, ByVal nIcons As Long) As Long 'ropImageとropMaskのラスタ操作を実行する Const DI_NORMAL = &H3 Private Sub Command1_Click() Dim Ret As Long Dim nFile As String Dim L As Long Dim S As Long nFile = Text1.Text Ret = ExtractIconEx(nFile, 0, L, S, 1) DrawIconEx Form1.Picture1.hDC, 0, 0, L, 0, 0, vbNull, 0, DI_NORMAL End Sub
ソースコード一式のダウンロード
vbapi_drawiconex.zip 1.24 KB (1,271 バイト)
このサンプルの動作環境について
このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。
スポンサーリンク
関連記事
前の記事: | 色々な図形を描画する |
次の記事: | 実行モジュールのストックアイコンを表示する |
公開日:2015年03月04日
記事NO:00352