Oluşturma ve şapka işareti görüntüleniyor

Klavye odağını aldığında, pencere oluşturmak ve şapka görüntüleyebilirsiniz. Şapka işareti verilen penceresinde oluşturmak için CreateCaret işlevini kullanın. Şapka geçerli konumunu ayarlamak için SetCaretPos ve şapka görünür hale getirmek için ShowCaret sonra arayabilirsiniz.

Sistem, pencere alma klavye odağı wm_setfocus iletiyi gönderir; Bu nedenle, uygulama oluşturmak ve bu iletiyi işlerken şapka görüntülemek.

Hwnd hwnd, / / pencere kolu int x;           / / Yatay koordinat imleç int y;           / / Dikey koordinat, imleç int nWidth;      / / genişliği imlecin int nHeight;     / / yüksekliği imleç char * lpszChar;  / / Olgu wm_setfocus karakter işaretçi: / / düz siyah şapka işareti oluşturabilir. 
        CreateCaret (hwnd, (HBITMAP) null, nWidth, nHeight); 
 
    / / İstemci koordinatlarında şapka konumunu ayarlayın. 
        SetCaretPos (x, y); 
 
    / / Düzeltme işareti görüntüler. 
        ShowCaret(hwnd); 
 
        sonu 

 

Üzerinde bir bitmap tabanlı şapka işareti oluşturmak için Biteşlem tutamacı CreateCaretkullanırken belirtmeniz gerekir. Bitmap ve uygulama kaynakları için bir bit eşlem eklemek için bir kaynak derleyici oluşturmak için bir grafik uygulamasını kullanabilirsiniz. Uygulama daha sonra kullanabilirsiniz LoadBitmap işlevi Biteşlem tutamacı yüklemek için. Örneğin, aşağıdaki satırları içeren bir bit eşlem düzeltme oluşturmak için önceki örnekte CreateCaret satırı yerine olabilir.

/ / Uygulama tanımlı şapka kaynağı yüklenemiyor. 
 
    hCaret = LoadBitmap (hinst, MAKEINTRESOURCE(120)); 
 
/ / Bir bit eşlem düzeltme oluşturmak. 
 
    CreateCaret (hwnd, hCaret, 0, 0) 

 

Seçimli, sen-ebilmek kullanma CreateBitmap ya şapka Biteşlem tutamacı almak için CreateDIBitmap işlevi. Bit eşlemleri hakkında daha fazla bilgi için bkz: bitmapler.

Uygulamanız bir Biteşlem tutamacı belirtiyorsa, CreateCaret genişlik ve yükseklik parametreleri yok sayar. Bitmap şapka boyutunu tanımlar.

Index