Nach Erhalt den Tastaturfokus, sollte das Fenster erstellen und anzeigen die Einfügemarke. Verwenden Sie die CreateCaret -Funktion, erstellen Sie ein Caret-Zeichen in dem angegebenen Fenster. Rufen Sie anschließend SetCaretPos die aktuelle Position der Einfügemarke festgelegt und ShowCaret Einfügemarke sichtbar zu machen.
Das System sendet die Meldung WM_SETFOCUS an das Fenster empfangenden Tastaturfokus; Daher sollte eine Anwendung erstellen und anzeigen die Einfügemarke beim Verarbeiten dieser Nachricht.
HWND Hwnd, / / Fenster-handle Int X; / / horizontalen Koordinaten des Cursor Int y; / / vertikale Koordinate des Cursors Int nWidth; / / Breite der Cursor Int nHeight; / / Höhe des Cursor Char * LpszChar; / / Zeiger auf RS WM_SETFOCUS Charakter: / / Create ein solides schwarz Caret-Zeichen.
CreateCaret (Hwnd, (HBITMAP) NULL, nWidth, nHeight);
/ / Anpassen die Position der Einfügemarke, in Clientkoordinaten.
SetCaretPos (X, y);
/ / Die Einfügemarke anzuzeigen.
ShowCaret(hwnd);
Pause
Um ein Caret-Zeichen basierend auf eine Bitmap zu erstellen, müssen Sie einen Bitmap-Handle angeben, wenn CreateCaretverwenden. Ein Grafikprogramm können Sie zum Erstellen der Bitmap und eine Ressourcen-Compiler die Ressourcen der Anwendung die Bitmap hinzu. Ihre Anwendung kann dann die LoadBitmap Funktion zum Laden des Bitmap-Handles. Beispielsweise könnten Sie die CreateCaret -Zeile im obigen Beispiel mit den folgenden Zeilen ein Caretzeichen Bitmap erstellen ersetzen.
/ / Lade die anwendungsdefinierte Caret-Ressource.
hCaret = LoadBitmap (Hinst, MAKEINTRESOURCE(120));
/ / Erstellen einer Bitmap Caret.
CreateCaret (Hwnd, hCaret, 0, 0)
Alternativ können Sie die CreateBitmap oder CreateDIBitmap -Funktion, um das Handle der Bitmap Caretzeichen abzurufen. Weitere Informationen zu Bitmaps, finden Sie unter Bitmaps.
Wenn Ihre Anwendung einen Bitmap-Handle angibt, ignoriert CreateCaret die Parameter Width und Height. Die Bitmap definiert die Größe der Einfügemarke.