Ukrywanie daszek

Gdy aplikacja odrysowania ekranu podczas przetwarzania wiadomości innych niż WM_PAINT, obydwa dokumenty muszą być daszek niewidoczne przy użyciu funkcji HideCaret . Po zakończeniu działania aplikacji rysunkowych, ponownie daszek przy użyciu funkcji ShowCaret . Jeżeli aplikacji przetwarza wiadomość WM_PAINT, nie jest to konieczne ukryć i wyświetlą znaku karetki, ponieważ funkcja ta robi to automatycznie.

Poniższy przykładowy kod pokazuje, jak aplikacja ukryć daszek podczas rysowania znaków na ekranie i podczas przetwarzania wiadomości używając funkcji.

HWND hwnd, / / okno obsługi HDC hdc;     / / kontekstu urządzenia Sprawa używając funkcji: przełącznik (wParam) {Sprawa 0x08: / / procesu backspace. 
             
                podział; 
 
            Sprawa 0x09: / / procesu tabulator.  
             
                podział; 
 
            Sprawa 0x0D: / / procesu powrotu karetki. 
             
                podział; 
 
            Sprawa 0x1B: / / procesu ewakuacji. 
             
                podział; 
 
            Sprawa 0x0A: / / procesu wysuwu wiersza. 
             
                podział; 
 
            Domyślnie: / / Ukryj daszek. 

                HideCaret(hwnd); 
 
                / / Draw znaków na ekranie. 
 
                hdc = GetDC(hwnd); 
                WybierzObiekt (hdc, GetStockObject(SYSTEM_FIXED_FONT)); 
 
                TextOut (hdc, x, y, lpszChar, 1); 
 
                ReleaseDC (hwnd, hdc); 
 
                / / Wyświetlacza daszek. 
 
                ShowCaret(hwnd); 
 
        } 

 

Jeśli aplikacja wywoła funkcję HideCaret kilka razy bez wywoływania ShowCaret, daszek nie będzie być wyświetlane, dopóki aplikacja wymaga również ShowCaret taką samą liczbę razy.