Tworzenia i wyświetlania znaku daszka

Po otrzymaniu fokusu klawiatury, okna należy utworzyć i wyświetlić daszek. Aby utworzyć daszek w danym oknie, należy użyć funkcji CreateCaret . Następnie można wywołać SetCaretPos ustawić bieżące położenie daszek i ShowCaret do uwidocznienia daszek.

System wysyła komunikat WM_SETFOCUS aby oknie fokusu klawiatury otrzymującego; w związku z tym aplikacja powinna tworzenie i wyświetlanie daszek podczas przetwarzania tej wiadomości.

HWND hwnd, / / okno obsługi int x;           / / poziome współrzędnych kursora int y;           / / pionowe współrzędną kursora int nWidth właściwości;      / / szerokość kursora int nHeight;     / / wysokość kursor char * lpszChar;  / / wskaźnik do znaków Sprawa WM_SETFOCUS: / / Create daszek czarny stałych. 
        CreateCaret (hwnd, nHeight (HBITMAP) nWidth właściwości, NULL); 
 
    / / Dopasować pozycję karetki, zgodnie ze współrzędnymi klienta. 
        SetCaretPos (x, y); 
 
    / / Wyświetlacza daszek. 
        ShowCaret(hwnd); 
 
        podział 

 

Aby tworzyć daszek oparte na bitmapę, należy określić uchwyt bitmapy, przy użyciu CreateCaret. Za pomocą aplikacji do tworzenia mapy bitowej i kompilatora zasobów, aby dodać mapę bitową do zasobów aplikacji. Następnie można użyć aplikacji LoadBitmap funkcji załadować uchwyt bitmapy. Na przykład można zastąpić linii CreateCaret w poprzednim przykładzie zawierający następujące wiersze do tworzenia daszek bitmapy.

/ / Obciążenia zasobów daszek zdefiniowanych przez aplikację. 
 
    hCaret = LoadBitmap (hinst, MAKEINTRESOURCE(120)); 
 
/ / Create daszek bitmapy. 
 
    CreateCaret (hwnd, hCaret, 0, 0) 

 

Alternatywnie, możesz użyć CreateBitmap lub CreateDIBitmap funkcji pobrać uchwytu bitmapy daszek. Aby uzyskać więcej informacji na temat mapy bitowe, zobacz bitmap.

Jeżeli aplikacji Określa dojście bitmapy, CreateCaret ignoruje parametrów Szerokość i wysokość. Bitmapy definiuje rozmiar daszek.

Index