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.