Crearea și afișarea un semn de omisiune

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.

Index