응용 프로그램 이외의 다른 메시지를 처리 하는 동안 화면에 그립니다 하는 때마다 WM_PAINT, 해야 캐럿 보이지 않는 HideCaret 함수를 사용 하 여. 응용 프로그램이 끝나면 ShowCaret 함수를 사용 하 여 캐럿을 다시 그리기. 응용 프로그램이 WM_PAINT 메시지를 처리 하는 경우 그것이 필요 하지 숨기고 캐럿, 다시 때문에이 함수는 자동으로.
다음 코드 예제에서는 응용 프로그램 화면에서 문자를 드로잉 하는 동안 및 WM_CHAR 메시지를 처리 하는 동안 캐럿을 숨기기.
HWND hwnd, / / 창 핸들 HDC hdc; / / 장치 컨텍스트 WM_CHAR 경우: 스위치 (wParam) {0x08 경우: / /는 백스페이스 과정.
휴식 시간;
0x09 사례: / / 탭 과정.
휴식 시간;
0x0D 사례: / / 캐리지 리턴 과정.
휴식 시간;
0x1B 사례: / / 탈출 과정.
휴식 시간;
0x0A 사례: / /는 줄 바꿈 처리 합니다.
휴식 시간;
기본값: / / 캐럿을 숨기기.
HideCaret(hwnd);
/ / 문자를 화면에 그립니다.
hdc = GetDC(hwnd);
SelectObject (hdc, GetStockObject(SYSTEM_FIXED_FONT));
TextOut (hdc, x, y, lpszChar, 1);
ReleaseDC (hwnd, hdc);
/ / 캐럿을 표시 합니다.
ShowCaret(hwnd);
}
응용 프로그램 ShowCaret를 호출 하지 않고 여러 번 HideCaret 함수 호출을 하는 경우 캐럿 표시 되지 않습니다 응용 프로그램 또한 동일한 횟수가 ShowCaret 를 호출할 때까지.