캐럿을 숨기기

응용 프로그램 이외의 다른 메시지를 처리 하는 동안 화면에 그립니다 하는 때마다 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 를 호출할 때까지.

 

Index