Ao receber o foco do teclado, a janela deve criar e exibir o acento circunflexo. Use a função CreateCaret para criar um cursor na janela de determinado. Você pode então chamar SetCaretPos para definir a posição atual do cursor e ShowCaret para tornar visível o acento circunflexo.
O sistema envia a mensagem WM_SETFOCUS para o foco do teclado receber janela; Portanto, um aplicativo deve criar e exibir o acento circunflexo ao processamento esta mensagem.
HWND hwnd, / / janela identificador int x; / / horizontal coordenadas do cursor int y; / / vertical coordenadas do cursor int nWidth; / / largura do cursor int nHeight; / / altura de caractere do cursor * lpszChar; / / Ponteiro para caractere maiúsculas WM_SETFOCUS: / / criar um cursor preto sólido.
CreateCaret (hwnd, (HBITMAP) NULL, nWidth, nHeight);
/ / Ajuste a posição do cursor, em coordenadas do cliente.
SetCaretPos (x, y);
/ / Exibir o cursor.
ShowCaret(hwnd);
quebra
Para criar um cursor com base em um bitmap, você deve especificar um identificador de bitmap quando usando CreateCaret. Você pode usar um aplicativo de elementos gráficos para criar o bitmap e um compilador de recurso para adicionar o bitmap para recursos de seu aplicativo. Seu aplicativo pode usar o LoadBitmap função para carregar o identificador de bitmap. Por exemplo, você poderia substituir a linha CreateCaret no exemplo anterior com as seguintes linhas para criar um cursor de bitmap.
/ / Carregar o recurso de cursor definido pelo aplicativo.
hCaret = LoadBitmap (hinst, MAKEINTRESOURCE(120));
/ / Criar um cursor de bitmap.
CreateCaret (hwnd, hCaret, 0, 0)
Como alternativa, você pode usar o CreateBitmap ou CreateDIBitmap função para recuperar o identificador de bitmap de acento circunflexo. Para obter mais informações sobre mapas de bits, consulte Bitmaps.
Se o aplicativo especifica um identificador de bitmap, CreateCaret ignora os parâmetros width e height. O bitmap define o tamanho do cursor.