簡介
函式功能:該函式裝載圖示,游標,或點陣圖。
函式原型:HANDLE LoadImage(
HINSTANCE hinst,
LPCTSTR lpszName,
UINT uType,
int cxDesired,
int cyDesired,
UINT fuLoad
);
參數
hinst:處理包含被裝載圖像模組的實例。若要裝載OEM圖像,則設此參數值為0。
lpszName:處理圖像裝載。如果參數hinst為non-NULL ,而且參數fuLoad省略LR_LOADFROMFILE的值時,那么參數lpszName是一個指向保留在hinst模組中裝載的圖像資源名稱,並以NULL為結束符的字元串。
如果參數hinst為空,並且LR_LOADFROMFILE未被指定,那么這個參數低位字一定是被裝載的OEM圖像標識的。OEM圖像
標識符是在WINUSER.H頭檔案中定義的,下面列舉出前綴的含義:
OBM_ OEM:
點陣圖;OIC_OEM圖示;OCR_OEM:游標。
如果參數fuLoad包含LR_LOADFROMFILE值,那么參數lpszName是包含有圖像的檔案名稱。
uType:指定被裝載圖像類型。此參數可以為下列值,其含義如下:
IMAGE_BITMAP:裝載點陣圖;IMAGE_CURSOR:裝載游標;IMAGE_ICON:裝載圖示。
cxDesired:指定圖示或游標的寬度,以像素為單位。如果此參數為零並且參數fuLoad值為LR_DEFAULTSIZE,那么函式使用SM_CXICON或SM_CXCURSOR系統公制值設定寬度;如果此參數為零並且值LR_DEFAULTSIZE沒有被使用,那么函式使用目前的資源寬度。
cyDesired:指定圖示或游標的高度,以像素為單位。如果此參數為零並且參數fuLoad值為LR_DEFAULTSIZE,那么函式使用SM_CXICON或SM_CXCURSOR系統公制值設定高度;如果此參數為零並且值LR_DEFAULTSIZE沒有被使用,那么函式使用目前的資源高度。
fuLoad:根據下面複合值列表指定函式值,值含義如下:
LR_DEFAULTCOLOR:預設標誌;它不作任何事情。它的含義是“無LR_MONOCHROME”。
LR_CREATEDIBSECTION:當參數uType指定為IMAGE_BITMAP時,使得函式返回一個DIB部分點陣圖,而不是一個兼容的點陣圖。這個標誌在裝載一個點陣圖,而不是映射它的顏色到顯示設備時非常有用。
LR_DEFAULTSIZE:若 cxDesired或cyDesired被設為零,使用系統指定的公制值標識游標或圖示的寬和高。如果這個參數不被設定且cxDesired或cyDesired被設為零,函式使用實際資源尺寸。如果資源包含多個圖像,則使用第一個圖像的大小。
LR_LOADFROMFILE:根據參數lpszName的值裝載圖像。若標記未被給定,lpszName的值為資源名稱。
LR_LOADMAP3DCOLORS:查找圖像的顏色表並且按下面相應的3D顏色表的灰度進行替換。
顏色替代:Dk Gray RGB(128,128,128)COLOR_3DSHADOW;Gray RGB(192,192,192)COLOR_3DFACELt Gray RGB(223,223,223) COLOR_3DLIGHT LR_LOADTRANSPARENT;找到圖像中的一個像素顏色值並且根據顏色表中系統的預設顏色值替代其相應接口的值。圖像中所有使用這種接口的像素的顏色都變為系統的預設
窗體顏色。此至僅用來申請相應的顏色表。
若fuLoad包括LR_LOADTRANSPARENT和LR_LOADMAP3DCOLORS兩個值,則LRLOADTRANSPARENT優先。但是,顏色表接口由COLOR_3DFACE替代,而不是COLOR_WINDOW。
LR_MONOCHROME:裝載黑白圖。
LR_SHARED:若圖像將被多次裝載則共享。如果LR_SHARED未被設定,則再向同一個資源第二次調用這個圖像時就會再裝載一遍這個圖像且返回不同的句柄。
不要對不同標準尺寸的圖像使用LR_SHARED,裝載後可能會有改變,或是從檔案中被裝載。
Windows 95和Windows 98:函式根據
快取中被請求的資源名發現的第一個圖像,不管被請求的大小。LR_VGACOLOR:使用VGA
真彩色。
返回值:如果函式運行成功,返回值是相關資源的數據的句柄。如果函式運行失敗,返回值為NULL。若想獲得更多的錯誤信息,請調用GetLastError函式。
注意:當使用完資源後,必須通過調用函式以釋放加速器表、
點陣圖、
游標、圖示以及選單所占的記憶體資源;加速器表:DesteoyAcceleratorTable;點陣圖:DeleteObject;游標:DestroyCursor;圖示:DestroyIcon;選單:DestroyMenu
當過程創建終止時,系統將自動刪除這些資源。但是調用相關函式也可以保留記憶體減少過程的工作設定所占空間。
Windows CE:對IMAGE_BITMAP來說,參數cxDesred和cyDesred p必須為零。Windows CE不支持圖表跳躍或閃爍。
參數fuLoad必須為(=LR_DEFAULTCOLOR)。
如果的目標平台不支持滑鼠
游標,可以指定在參數cxDesred和cyDsired的SM_CXCURSOR和SM_CYCURSOR的值,但不能指定參數uType中IMAGE_CURSOR的值。
如果目標平台支持滑鼠游標,可以指定在參數cxDesired和cyDesred的SM_CXCURSOR和SM_CYCURSOR的值,也能指定參數uType中IMAGE_CURSOR的值。
函式說明:該函式不可用來裝載jpg等格式圖片,可使用gdi+函式GdipDrawImage裝載jpg,png等格式圖片
速查:
Windows NT 3.1、Windows 95、Windows CE 1.0以上,頭檔案:winuser.h:庫檔案;user32.lib;Unicode:在Windows NT上實現為Unicode和ANSI兩種版本。