Å opprette og vise et cirkumflekstegn

Ved mottak fokus på tastaturet, bør vinduet opprette og vise cirkumflekstegnet. Du kan bruke CreateCaret -funksjonen til å opprette et cirkumflekstegn i vinduet gitt. Du kan så kalle SetCaretPos angi den gjeldende plasseringen av cirkumflekstegnet og ShowCaret å gjøre cirkumflekstegnet synlig.

Systemet sender meldingen WM_SETFOCUS til vinduet mottar fokus på tastaturet; Derfor, et program skal opprette og vise cirkumflekstegnet under behandling av denne meldingen.

HWND hwnd, / / vinduet håndtere int x;           / / vannrette koordinaten til markøren int y;           / / loddrette koordinaten til markøren int nWidth;      / / bredden på markøren int nHeight;     / / høyden på markøren char * lpszChar;  / / peker til tegnet skiller WM_SETFOCUS: / / Opprett et heldekkende svart cirkumflekstegn. 
        CreateCaret (hwnd, (HBITMAP) NULL, nWidth, nHeight); 
 
    / / Justere cirkumflekstegn plasseringen, i klient-koordinater. 
        SetCaretPos (x, y); 
 
    / / Vise cirkumflekstegnet. 
        ShowCaret(hwnd); 
 
        pause 

 

Hvis du vil opprette et cirkumflekstegn basert på punktgrafikk, må du angi en bitmap håndtak når du bruker CreateCaret. Du kan bruke et grafikkprogram til å lage punktgrafikkbildet og et ressurs-kompilatoren for å legge til punktgrafikkbildet til programmets ressurser. Programmet kan deretter bruke den LoadBitmap -funksjonen til å laste inn punktgrafikk håndtaket. Du kan for eksempel erstatte CreateCaret linjen i eksemplet ovenfor med følgende linjer til å opprette et punktgrafikk cirkumflekstegn.

/ / Load programdefinert cirkumflekstegn ressursen. 
 
    hCaret = LoadBitmap (hinst, MAKEINTRESOURCE(120)); 
 
/ / Opprett et cirkumflekstegn punktgrafikk. 
 
    CreateCaret (hwnd, hCaret, 0, 0) 

 

Du kan også bruke den CreateBitmap eller CreateDIBitmap -funksjonen til å hente håndtaket av cirkumflekstegn punktgrafikkbildet. Hvis du vil ha mer informasjon om punktgrafikk, se punktgrafikk.

Hvis programmet angir en bitmap håndtak, ignorerer CreateCaret parameterne bredde og høyde. Punktgrafikkbildet definerer størrelsen på cirkumflekstegnet.

Index