Bir şapka gizleme

Yeniden zaman uygulamanız çizer ekran dışında bir ileti işlenirken WM_PAINT, gerekir yapmak o şapka görünmez HideCaret işlevini kullanarak. Uygulama bittiğinde çizme, şapka ShowCaret işlevini kullanarak yeniden. Uygulamanızın WM_PAINT ileti işlerse, bu işlev bunu otomatik olarak yapar çünkü gizlemek ve klavyeyle yeniden görüntülemek gerekli değil.

Aşağıdaki kod örneği nasıl bir karakter ekranında çizim sırasında ve wm_char iletisini işlerken inceltme gizlemek uygulama var gösterir.

Hwnd hwnd, / / pencere kolu hdc hdc;     / / aygıt içeriğini durumda wm_char: switch (wParam) {case 0x08: / / bir geri alma işlemi. 
             
                Break; 
 
            durumda 0x09: / / bir sekme işlemek.  
             
                Break; 
 
            durumda 0x0D: / / bir satırbaşı işlemek. 
             
                Break; 
 
            durumda 0x1B: / / bir kaçış süreci. 
             
                Break; 
 
            durumda 0x0A: / / satır besleme işlemek. 
             
                Break; 
 
            Default: / / inceltme gizlemek. 

                HideCaret(hwnd); 
 
                / / Karakter ekranda çizer. 
 
                HDC = GetDC(hwnd); 
                NesneSeç (hdc, GetStockObject(SYSTEM_FIXED_FONT)); 
 
                TextOut (hdc, x, y, lpszChar, 1); 
 
                ReleaseDC (hwnd, hdc); 
 
                / / Düzeltme işareti görüntüler. 
 
                ShowCaret(hwnd); 
 
        } 

 

Uygulamanız, ShowCaretçağırmadan birkaç kez HideCaret işlevini çağırır, uygulama da aynı sayıda ShowCaret çağırır kadar şapka görüntülenmez.