LoadImageW 함수(winuser.h)

아이콘, 커서, 애니메이션 커서 또는 비트맵을 로드합니다.

구문

HANDLE LoadImageW(
  [in, optional] HINSTANCE hInst,
  [in]           LPCWSTR   name,
  [in]           UINT      type,
  [in]           int       cx,
  [in]           int       cy,
  [in]           UINT      fuLoad
);

매개 변수

[in, optional] hInst

형식: HINSTANCE

로드할 이미지가 포함된 DLL 또는 실행 파일(.exe)의 모듈에 대한 핸들입니다. 자세한 내용은 GetModuleHandle을 참조하세요. 32비트 Windows를 기준으로 WinMain의 시스템 함수 호출에 의해 노출되는 애플리케이션 instance 핸들과 HMODULE(모듈 핸들)과 같은 instance 핸들(HINSTANCE)은 동일합니다.

미리 정의된 이미지 또는 독립 실행형 리소스(아이콘, 커서 또는 비트맵 파일)를 로드하려면 이 매개 변수를 NULL로 설정합니다.

[in] name

형식: LPCTSTR

로드할 이미지입니다.

hInst 매개 변수가 NULL이 아니고 fuLoad 매개 변수가 LR_LOADFROMFILE 생략하는 경우 namehInst 모듈의 이미지 리소스를 지정합니다.

이미지 리소스를 모듈에서 이름으로 로드하는 경우 name 매개 변수는 이미지 리소스의 이름을 포함하는 null로 끝나는 문자열에 대한 포인터입니다.

이미지 리소스를 모듈에서 서수로 로드하려면 MAKEINTRESOURCE 매크로를 사용하여 이미지 서수 를 LoadImage 함수에 전달할 수 있는 양식으로 변환합니다.

hInst 매개 변수가 NULL이고 fuLoad 매개 변수가 LR_LOADFROMFILE 값을 생략하면 이름은 로드할 미리 정의된 이미지를 지정합니다.

미리 정의된 이미지 식별자는 에 Winuser.h 정의되며 다음 접두사를 가집니다.

접두사 의미
Obm_ OEM 비트맵. MAKEINTRESOURCE 매크로를 사용하여 전달합니다.
Oic_ OEM 아이콘. MAKEINTRESOURCE 매크로를 사용하여 전달합니다.
Ocr_ OEM 커서. MAKEINTRESOURCE 매크로를 사용하여 전달합니다.
Idi_ 표준 아이콘
Idc_ 표준 커서

OEM 이미지 식별자 상수를 LoadImage 함수에 전달하려면 MAKEINTRESOURCE 매크로를 사용합니다. 예를 들어 OCR_NORMAL 커서를 로드하려면 name 매개 변수로, NULLhInst 매개 변수로 전달 MAKEINTRESOURCE(OCR_NORMAL) 하고, fuLoad 매개 변수에 플래그 중 하나로 LR_SHARED.

hInst 매개 변수가 NULL이고 fuLoad 매개 변수에 LR_LOADFROMFILE 값이 포함된 경우 name은 독립 실행형 리소스(아이콘, 커서 또는 비트맵 파일)가 포함된 파일의 이름입니다(예c:\myicon.ico: ).

자세한 내용은 아래의 설명 섹션을 참조하세요.

[in] type

형식: UINT

로드할 이미지의 형식입니다.

이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
IMAGE_BITMAP 비트맵을 로드합니다.
IMAGE_CURSOR 커서를 로드합니다.
IMAGE_ICON 아이콘을 로드합니다.

[in] cx

형식: int

아이콘 또는 커서의 너비(픽셀)입니다. 이 매개 변수가 0이고 fuLoad 매개 변수가 LR_DEFAULTSIZE 경우 함수는 SM_CXICON 또는 SM_CXCURSOR 시스템 메트릭 값을 사용하여 너비를 설정합니다. 이 매개 변수가 0이고 LR_DEFAULTSIZE 사용되지 않는 경우 함수는 실제 리소스 너비를 사용합니다.

[in] cy

형식: int

아이콘 또는 커서의 높이(픽셀)입니다. 이 매개 변수가 0이고 fuLoad 매개 변수가 LR_DEFAULTSIZE 경우 함수는 SM_CYICON 또는 SM_CYCURSOR 시스템 메트릭 값을 사용하여 높이를 설정합니다. 이 매개 변수가 0이고 LR_DEFAULTSIZE 사용되지 않는 경우 함수는 실제 리소스 높이를 사용합니다.

[in] fuLoad

형식: UINT

이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.

의미
LR_CREATEDIBSECTION
0x00002000
uType 매개 변수가 IMAGE_BITMAP 지정하면 함수가 호환되는 비트맵이 아닌 DIB 섹션 비트맵을 반환합니다. 이 플래그는 디스플레이 디바이스의 색에 매핑하지 않고 비트맵을 로드하는 데 유용합니다.
LR_DEFAULTCOLOR
0x00000000
기본 플래그입니다. 그것은 아무것도하지 않습니다. " LR_MONOCHROME 않음"만 의미합니다.
LR_DEFAULTSIZE
0x00000040
cxDesired 또는 cyDesired 값이 0으로 설정된 경우 커서 또는 아이콘에 대한 시스템 메트릭 값으로 지정된 너비 또는 높이를 사용합니다. 이 플래그를 지정하지 않고 cxDesiredcyDesired 를 0으로 설정하면 함수는 실제 리소스 크기를 사용합니다. 리소스에 여러 이미지가 포함된 경우 함수는 첫 번째 이미지의 크기를 사용합니다.
LR_LOADFROMFILE
0x00000010
이름(아이콘, 커서 또는 비트맵 파일)으로 지정된 파일에서 독립 실행형 이미지를 로드합니다.
LR_LOADMAP3DCOLORS
0x00001000
색 테이블에서 이미지를 검색하고 다음 회색 음영을 해당 3차원 색으로 바꿉니다.
  • Dk Gray, RGB(128,128,128) 및 COLOR_3DSHADOW
  • 회색, RGB(192,192,192) 및 COLOR_3DFACE
  • Lt Gray, RGB(223,223,223) 및 COLOR_3DLIGHT
색 깊이가 8bpp보다 큰 비트맵을 로드하는 경우 이 옵션을 사용하지 마세요.
LR_LOADTRANSPARENT
0x00000020
이미지에서 첫 번째 픽셀의 색 값을 검색하고 색 테이블의 해당 항목을 기본 창 색(COLOR_WINDOW)으로 바꿉니다. 해당 항목을 사용하는 이미지의 모든 픽셀이 기본 창 색이 됩니다. 이 값은 해당 색 테이블이 있는 이미지에만 적용됩니다.

색 깊이가 8bpp보다 큰 비트맵을 로드하는 경우 이 옵션을 사용하지 마세요.

fuLoadLR_LOADTRANSPARENTLR_LOADMAP3DCOLORS 값이 모두 포함된 경우 LR_LOADTRANSPARENT 우선합니다. 그러나 색 테이블 항목은 COLOR_WINDOW 대신 COLOR_3DFACE 대체됩니다.

LR_MONOCHROME
0x00000001
이미지를 흑백으로 로드합니다.
LR_SHARED
0x00008000
이미지가 여러 번 로드되는 경우 이미지 핸들을 공유합니다. LR_SHARED 설정되지 않은 경우 동일한 리소스에 대한 LoadImage에 대한 두 번째 호출은 이미지를 다시 로드하고 다른 핸들을 반환합니다.

이 플래그를 사용하면 시스템이 더 이상 필요하지 않을 때 리소스를 삭제합니다.

비표준 크기가 있거나, 로드 후 변경될 수 있거나, 파일에서 로드되는 이미지에는 LR_SHARED 사용하지 마세요.

시스템 아이콘 또는 커서를 로드할 때 LR_SHARED 사용해야 합니다. 그렇지 않으면 함수가 리소스를 로드하지 못합니다.

이 함수는 요청된 크기에 관계없이 요청된 리소스 이름을 사용하여 캐시의 첫 번째 이미지를 찾습니다.

LR_VGACOLOR
0x00000080
진정한 VGA 색을 사용합니다.

반환 값

형식: HANDLE

함수가 성공하면 반환 값은 새로 로드된 이미지의 핸들입니다.

함수가 실패하면 반환 값은 NULL입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

IS_INTRESOURCE(name)이 TRUE이면 name은 지정된 리소스의 정수 식별자를 지정합니다. 그렇지 않으면 null로 끝나는 문자열에 대한 포인터입니다.

문자열의 첫 번째 문자가 파운드 기호(#)인 경우 나머지 문자는 리소스의 정수 식별자를 지정하는 10진수를 나타냅니다. 예를 들어 문자열 "#258"은 식별자 258을 나타냅니다.

LR_SHARED 플래그를 지정하지 않고 로드한 비트맵, 커서 또는 아이콘 사용을 마치면 다음 표의 함수 중 하나를 호출하여 연결된 메모리를 해제할 수 있습니다.

리소스 릴리스 함수
Bitmap DeleteObject
커서 DestroyCursor
아이콘 DestroyIcon
 

생성한 프로세스가 종료되면 시스템에서 이러한 리소스를 자동으로 삭제합니다. 그러나 적절한 함수를 호출하면 메모리가 절약되고 프로세스의 작업 집합 크기가 줄어듭니다.

예제

예제는 창 클래스 사용을 참조하세요.

참고

winuser.h 헤더는 LOADImage를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-gui-l1-1-0(Windows 8 도입)

추가 정보

개념

CopyImage

GetSystemMetrics

LoadBitmap

LoadCursor

LoadIcon

기타 리소스

참조

리소스