La primirea focalizarea tastaturii, fereastra trebuie crea și afișa semn de omisiune nelegat. Utilizați funcția CreateCaret pentru a crea un semn de omisiune în fereastra dat. Apoi puteți apela SetCaretPos pentru a seta poziția curentă a semn de omisiune nelegat și ShowCaret pentru a face semn de omisiune nelegat vizibile.
Sistemul trimite mesajul WM_SETFOCUS fereastra de primire focus tastatură; prin urmare, cererea trebuie crea și afișa semn de omisiune nelegat în timp ce acest mesaj de prelucrare.
HWND hwnd, / / fereastra ocupa int x; / / orizontală coordonate cursor int y; / / verticală coordonate de cursor int nWidth; / / lățimea cursorului int nHeight; / / înălțime de cursor char * lpszChar; / / indicatorul de caractere caz WM_SETFOCUS: / / creați un semn de omisiune negru solid.
CreateCaret (hwnd, (HBITMAP) NULL, nWidth, nHeight);
/ / Reglați poziția semn de omisiune, în coordonate de client.
SetCaretPos (x, y);
/ / Afișa semn de omisiune nelegat.
ShowCaret(hwnd);
pauză
Pentru a crea un semn de omisiune bazate pe un bitmap, trebuie să specificați un mâner bitmap atunci când se utilizează CreateCaret. Utilizați o aplicație de grafică pentru a crea bitmap-ul și un compilator de resurse pentru a adăuga bitmap-ul aplicației resurse. Apoi puteți utiliza aplicația LoadBitmap funcție pentru a încărca ghidajul bitmap. De exemplu, înlocuiți linia CreateCaret în exemplul precedent cu următoarele linii pentru a crea un semn de omisiune bitmap.
/ / Resurse cerere-definite semnul de încărcare.
hCaret = LoadBitmap (hinst, MAKEINTRESOURCE(120));
/ / A crea un semn de omisiune bitmap.
CreateCaret (hwnd, hCaret, 0, 0)
Alternativ, aveți posibilitatea să utilizați CreateBitmap sau CreateDIBitmap funcție pentru a prelua ghidajul de bitmap semnul. Pentru mai multe informații despre bitmap-uri, consultați bitmap-uri.
Dacă cererea dumneavoastră specifică un mâner bitmap, CreateCaret ignoră parametrii de lățime și înălțime. Bitmap-ul definește dimensiunea de semn de omisiune nelegat.