複製鏈接
請複製以下鏈接發送給好友

LoadImage

鎖定
LoadImage是一種函數,功能是裝載圖標,光標,或位圖
外文名
LoadImage
功    能
該函數裝載圖標,光標,或位圖
原    型
HANDLE LoadImage
類    別
計算機函數

目錄

LoadImage簡介

函數功能:該函數裝載圖標,光標,或位圖。
函數原型:HANDLE LoadImage(
HINSTANCE hinst,
LPCTSTR lpszName,
UINT uType,
int cxDesired,
int cyDesired,
UINT fuLoad
);

LoadImage參數

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兩種版本。