Maken en weergeven van een Caret

De focus van het toetsenbord wordt ontvangen, moet het venster maken en de caret weergeven. De functie CreateCaret om te maken een caret-teken in het opgegeven venster. Vervolgens kunt u bellen SetCaretPos om de huidige positie van de caret en ShowCaret zichtbaar te maken de caret.

Het systeem verzendt het bericht WM_SETFOCUS naar de venster ontvangende toetsenbordfocus; Dus, een toepassing moet maken en de caret weergeven tijdens het verwerken van dit bericht.

HWND hwnd, / / vensteringang int x;           / / horizontale coördinaat van de cursor int y;           / / verticale coördinaat van de cursor int nWidth;      / / breedte van cursor int nHeight;     / / hoogte van cursor char * lpszChar;  / / pointer naar teken case WM_SETFOCUS: / / maken een solide zwarte caret. 
        CreateCaret (hwnd, (HBITMAP), NULL, nWidth, nHeight); 
 
    / / De positie caret, in client coördinaten aanpassen. 
        SetCaretPos (x, y); 
 
    / / De caret weergeven. 
        ShowCaret(hwnd); 
 
        pauze 
 

Een caret-teken op basis van een bitmap maakt, moet u een bitmap-greep bij het gebruik van CreateCaret. Een grafische toepassing kunt u de bitmap en een resource compiler de bitmap toevoegen aan de middelen van uw toepassing maken. Uw toepassing kan vervolgens gebruiken de LoadBitmap functie te laden handvat van de bitmap. Bijvoorbeeld, kon u de CreateCaret -regel in het voorgaande voorbeeld vervangen door de volgende regels om te maken een bitmap caret.

/ / De toepassing gedefinieerde caret bron laden. 
 
    hCaret = LoadBitmap (hinst, MAKEINTRESOURCE(120)); 
 
/ / Maak een bitmap caret. 
 
    CreateCaret (hwnd, hCaret, 0, 0) 
 

U kunt de CreateBitmap of CreateDIBitmap -functie voor het ophalen van de greep van de bitmap caret. Zie voor meer informatie over bitmaps, Bitmaps.

Als uw toepassing een bitmap bestandsingang, CreateCaret de breedte en hoogte parameters worden genegeerd. De bitmap bepaalt de grootte van de caret.

Index