Vždy, keď aplikácia prekresľuje obrazovky pri spracovaní vzkaz okrem WM_PAINT, musí emitent vykonať podľa znaku vsuvky neviditeľné pomocou funkcie HideCaret . Po dokončení aplikácii kreslenie, zobraziť podľa znaku vsuvky pomocou funkcie ShowCaret . Ak vašu žiadosť spracováva WM_PAINT správy, nie je potrebné skryť a zobraziť podľa znaku vsuvky, pretože táto funkcia automaticky to.
Nasledujúca ukážka kódu zobrazuje ako si vašu žiadosť skryť podľa znaku vsuvky ahan? znaku na obrazovke a pri spracovaní správy WM_CHAR.
HWND hwnd, / / okno zvládnuť HDC hdc; / / zariadenie kontexte prípad WM_CHAR: prepínač (wParam) {prípad 0x08: / procesu backspace.
prerušiť;
prípad 0x09: / procesu kartu.
prerušiť;
prípad 0x0D: / procesu medzera.
prerušiť;
prípad 0x1B: / procesu uniknúť.
prerušiť;
prípad 0x0A: / procesu oddelenými.
prerušiť;
predvolené: / / skrytie podľa znaku vsuvky.
HideCaret(hwnd);
/ / Nakresliť znak na obrazovke.
HDC = GetDC(hwnd);
VybraťObjekt (hdc, GetStockObject(SYSTEM_FIXED_FONT));
TextOut (hdc, x, y, lpszChar, 1);
ReleaseDC (hwnd, hdc);
/ / Zobrazenie podľa znaku vsuvky.
ShowCaret(hwnd);
}
Ak vašu žiadosť zavolá funkciu HideCaret niekoľko krát bez zvolania ShowCaret, vsuvka nezobrazí, kým uplatňovanie tiež vyžaduje ShowCaret rovnaký počet krát.