CreateCaret 함수(winuser.h)

시스템 caret에 대한 새 셰이프를 만들고 지정된 창에 caret의 소유권을 할당합니다. 캐럿 모양은 선, 블록 또는 비트맵일 수 있습니다.

구문

BOOL CreateCaret(
  [in]           HWND    hWnd,
  [in, optional] HBITMAP hBitmap,
  [in]           int     nWidth,
  [in]           int     nHeight
);

매개 변수

[in] hWnd

형식: HWND

캐리트를 소유하는 창에 대한 핸들입니다.

[in, optional] hBitmap

형식: HBITMAP

캐리트 셰이프를 정의하는 비트맵에 대한 핸들입니다. 이 매개 변수가 NULL이면 caret는 단색입니다. 이 매개 변수가 이 (HBITMAP) 1면 캐리트는 회색입니다. 이 매개 변수가 비트맵 핸들인 경우 caret는 지정된 비트맵입니다. 비트맵 핸들은 CreateBitmap, CreateDIBitmap 또는 LoadBitmap 함수에 의해 만들어졌 어야 합니다.

hBitmap이 비트맵 핸들인 경우 CreateCaretnWidthnHeight 매개 변수를 무시합니다. 비트맵은 자체 너비와 높이를 정의합니다.

[in] nWidth

형식: int

논리 단위로 된 caret의 너비입니다. 이 매개 변수가 0이면 너비가 시스템 정의 창 테두리 너비로 설정됩니다. hBitmap이 비트맵 핸들인 경우 CreateCaret는 이 매개 변수를 무시합니다.

[in] nHeight

형식: int

논리 단위로 된 caret의 높이입니다. 이 매개 변수가 0이면 높이가 시스템 정의 창 테두리 높이로 설정됩니다. hBitmap이 비트맵 핸들인 경우 CreateCaret는 이 매개 변수를 무시합니다.

반환 값

형식: BOOL

함수가 성공하면 반환 값이 0이 아닙니다.

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

설명

nWidthnHeight 매개 변수는 논리 단위로 caret의 너비와 높이를 지정합니다. 정확한 너비와 높이(픽셀)는 창의 매핑 모드에 따라 달라집니다.

CreateCaret 은 캐리트를 소유하는 창에 관계없이 이전의 캐리트 셰이프(있는 경우)를 자동으로 삭제합니다. 케어는 애플리케이션이 ShowCaret 함수를 호출하여 캐리트를 표시할 때까지 숨겨집니다.

시스템은 큐당 하나의 케어를 제공합니다. 창은 키보드 포커스가 있거나 활성 상태인 경우에만 캐리트를 만들어야 합니다. 키보드 포커스를 잃거나 비활성 상태가 되기 전에 창에서 캐리트를 제거해야 합니다.

DPI 가상화

이 API는 DPI 가상화에 참여하지 않습니다. 너비 및 높이 매개 변수는 해당 창의 측면에서 논리적 크기로 해석됩니다. 호출 스레드는 고려되지 않습니다.

요구 사항

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

추가 정보

캐럿

개념

CreateBitmap

CreateDIBitmap

DestroyCaret

GetSystemMetrics

HideCaret

LoadBitmap

기타 리소스

참조

ShowCaret