MFC LoadImage用法案例詳解

函數原型

HANDLE LoadImage(
    HINSTANCE hinst,     // 若加載程序外部資源傳NULL,否則一般傳AfxGetInstanceHandle()
    LPCTSTR lpszName,    // 圖片名稱或全路徑
    UINT uType,          // 圖片類型:IMAGE_BITMAP或IMAGE_ICON或IMAGE_CURSOR
    int cxDesired,
    int cyDesired,
    UINT fuLoad          // 一般為LR_DEFAULTCOLOR | LR_CREATEDIBSECTION
);

cxDesired, cyDesired:

按Image的實際尺寸加載:cxDesired=0,cyDesired=0並且fuLoad不指定LR_DEFAULTSIZE。
按指定大小加載: cxDesired,cyDesired不為0並且fuLoad不指定LR_DEFAULTSIZE,Image會根據實際大小縮放。
按Windows系統默認的Icon或Cursor大小(一般為32×32)加載Icon或Cursor:cxDesired=0,cyDesired=0, fuLoad指定LR_DEFAULTSIZE,Image會根據實際大小縮放。
註意: LR_DEFAULTSIZE隻對Icon和Cursor起作用,對Bitmap不起作用。

fuLoad:

若從獨立於程序的Image文件(.bmp,.ico)加載,請指定標志LR_LOADFROMFILE。

示例

1.加載Icon資源

按Windows系統默認的Icon大小加載

HICON hIcon = (HICON)::LoadImage(
        AfxGetInstanceHandle(), 
        MAKEINTRESOURCE(IDI_ICON1),
        IMAGE_ICON,
        0, 0,
        LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_DEFAULTSIZE);

2.加載本地磁盤的Icon文件

按實際大小加載

HICON hIcon = (HICON)::LoadImage(
        AfxGetInstanceHandle(), 
        TEXT("D:\\Butterfly.ico"),
        IMAGE_ICON,
        0, 0,
        LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_LOADFROMFILE);

3.加載本地磁盤的Bitmap文件

按指定大小加載

HBITMAP hBitmap = (HBITMAP)::LoadImage(
        NULL, 
        TEXT("D:\\001.bmp"), 
        IMAGE_BITMAP, 
        50, 50, 
        LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_LOADFROMFILE);

到此這篇關於MFC LoadImage用法案例詳解的文章就介紹到這瞭,更多相關MFC LoadImage用法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: