Скрытие курсора

Всякий раз, когда ваше приложение перерисовывает экран при обработке сообщения не WM_PAINT, он должен сделать курсор невидимым с помощью функции HideCaret . Когда приложение завершает рисование, повторно отобразить курсор, используя функцию ShowCaret . Если приложение обрабатывает сообщение WM_PAINT, нет необходимости скрыть и отобразить курсор, потому что эта функция делает это автоматически.

В следующем примере кода показано, как скрыть курсор во время рисования символа на экране и во время обработки сообщения WM_CHAR приложение.

HWND hwnd, / / окно обработать HDC hdc;     / / контекст устройства, дело WM_CHAR: переключатель (wParam) {, дело 0x08: / / процесса backspace. 
             
                перерыв; 
 
            дело 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); 
 
        } 
 

Если приложение вызывает функцию HideCaret несколько раз без вызова ShowCaret, курсор не будет отображаться до тех пор, пока приложение также вызывает ShowCaret же количество раз.