実行モジュール中のリソースからアイコン・カーソル・ビットマップをロードする
Declare Function LoadImage Lib "user32.dll" Alias "LoadImageA" _
(ByVal hinst As Long, ByVal lpszName As Long, ByVal uType As Long, _
ByVal cxDesired As Long, ByVal cyDesired As Long, ByVal fuLoad As Long) As Long
Declare Function LoadImage Lib "user32.dll" Alias "LoadImageA" _
(ByVal hinst As Integer, ByVal lpszName As Integer, ByVal uType As Integer, _
ByVal cxDesired As Integer, ByVal cyDesired As Integer, ByVal fuLoad As Integer) As Integer
HANDLE LoadImage(
HINSTANCE hinst,
LPCTSTR lpszName,
UINT uType,
int cxDesired,
int cyDesired,
UINT fuLoad
);
引数
hinst
実行モジュールのインスタンスハンドルlpszName
OEM_イメージをロードするとき0
イメージのリソースID、またはリソース名uType
hinst=0でfuLoad<>LR_LOADFROMFILEを設定していないときOEMイメージの定数
ロードするイメージのタイプを指定する定数cxDesired
イメージを表示する幅(0のときシステムの寸法)cxDesired
同、高さfuLoad
ロード方法を指定する定数の組み合わせ戻り値
正常終了のとき イメージのハンドル備考
エラーのとき 0
「OEMイメージ」とはWindowsが持っているデフォルトのイメージのこと。lpszNameの定数
別名を「システムストックオブジェクト」という。OEMイメージを使う場合
fuLoad=LR_SHAREDにしなければならない。取得したハンドルは不要になった時点で
解放しなければならない。イメージのタイプに応じて以下の関数を使う。
------------------------------------------
OEM_ビットマップ DeleteObjcet
OEM_アイコン DestroyIcon
OEM_カーソル DestroyCursor
------------------------------------------
プロセスが終了するとき、リソースのハンドルは自動的に削除されるが
明示的に解放したほうがリソースメモリの節約になる。
OEMビットマップ
OBM_CLOSE = 32754
OBM_UPARROW = 32753
OBM_DNARROW = 32752
OBM_RGARROW = 32751
OBM_LFARROW = 32750
OBM_REDUCE = 32749
OBM_ZOOM = 32748
OBM_RESTORE = 32747
OBM_REDUCED = 32476
OBM_ZOOMD = 32745
OBM_RESTORED = 32744
OBM_UPARROWD = 32743
OBM_DNARROWD = 32742
OBM_RGARROWD = 32741
OBM_LFARROWD = 32740
OBM_MNARROW = 32739
OBM_COMBO = 32738
OBM_UPARROWI = 32737
OBM_DNARROWI = 32736
OBM_RGARROWI = 32735
OBM_LFARROWI = 32734
OBM_OLD_CLOSE = 32736
OBM_SIZE = 32766
OBM_OLD_UPARROW = 32765
OBM_OLD_DNARROW = 32764
OBM_OLD_RGARROW = 32763
OBM_OLD_LFARROW = 32762
OBM_BTSIZE = 32761
OBM_CHECK = 32760
OBM_CHECKBOXES = 32759
OBM_BTNCORNERS = 32758
OBM_OLD_REDUCE = 32757
OBM_OLD_ZOOM = 32756
OBM_OLD_RESTORE = 32755
OEMアイコン
OIC_SAMPLE = 32512
OIC_HAND = 32513
OIC_QUES = 32514
OIC_BANG = 32515
OIC_NOTE = 32516
OIC_WINLOGO = 32517
OIC_WARNING = OIC_BANG
OIC_ERROR = OIC_HAND
OIC_INFORMATION = OIC_NOTE
uTypeの定数
OEMカーソル
OCR_NORMAL = 32512 標準の矢印形状
OCR_IBEAM = 32513 Iビーム
OCR_WAIT = 32514 砂時計
OCR_CROSS = 32515 細いクロスヘア形状
OCR_UP = 32516 上向き矢印形状
OCR_SIZE = 32640 OCR_SIZEALLを使う
OCR_ICON = 32641 OCR_NORMALを使う
OCR_SIZENWSE = 32642 両矢印形状(北西ー南東)
OCR_SIZENESW = 32643 同上(北東ー南西)
OCR_SIZEWE = 32644 同上(左右)
OCR_SIZENS = 32645 同上(上下)
OCR_SIZEALL = 32646 サイズ変更(上下左右)
OCR_ICONCUR = 32647 OIC_WINLOGOを使う
OCR_NO = 32648 指定領域外
OCR_HAND = 32649 (WindowsNT)
OCR_APPSTARTING = 32650
アプリケーションの起動時
(矢印と砂時計)
fuLoadの定数
IMAGE_BITMAP = 0 ビットマップ
IMAGE_ICON = 1 アイコン
IMAGE_CURSOR = 2 カーソル
LR_DEFAULTCOLOR = &H0 デフォルトのカラーを使う
LR_CREATEDIBSECTION = &H2000 uType=IMAGE_BITMAPのとき
DIBSectionビットマップを返す
LR_DEFAULTSIZE = &H40 アイコン・カーソルのときは
cxDesiredまたはcyDesired=0のとき
システムのサイズを使う。
このフラッグを設定しないで
cxDesiredまたはcyDesired=0のとき
リソースのままのサイズを使う。
リソースが複数の場合は
最初のものを使う。
LR_LOADFROMFILE = &H10 lpszNameはイメージファイル名である。
LR_LOADMAP3DCOLOR = &H1000 イメージのカラーテーブルをないを検索し
下記の灰色を指定の色と置き換える。
--------------------------------------
暗灰色(&H808080)⇒COLOR_3DSHADOW
灰色(&HC0C0C0) ⇒COLOR_3DFACE
明灰色(&HDFDFDF)⇒COLOR_3DLIGHT
--------------------------------------
LR_LOADTRANSPARENT = &H20 イメージの最初のピクセルの
カラー値を取得しそのカラー値と同じ
ピクセルを全てCOLOR_WINDOWに置き換える
LR_MONOCHROME = &H1 イメージを白と黒のモノクロカラーで読み込む
LR_SHARD = &H8000& 同じリソースをロードしたときハンドルを共有する
ロード後にサイズを変更する可能性のあるときは
このフラッグを設定しない。
イメージをファイルから読み込むときは
このフラッグを設定しない。
OEMイメージを使用する場合はこのフラッグを
設定しなければならない。
LR_VGACOLOR = &H80 VGAカラー(標準16色)を使う