Dette emnet beskriver eksempelkode som viser dialogboksen en Skrift , slik at en bruker kan velge attributtene for en skrift. Eksempelkoden initialiserer først en CHOOSEFONT struktur, og deretter kaller den ChooseFont -funksjonen for å vise dialogboksen.
Dette eksemplet angir flagget CF_SCREENFONTS Hvis du vil angi at dialogboksen skal vise bare skjermskrifter. Det setter flagget CF_EFFECTS Hvis du vil vise som lar brukeren velge gjennomstreking, understreking og fargealternativer.
Hvis ChooseFont returnerer SANN, som angir at brukeren klikket knappen OK , den LOGFONT -strukturen vises til i lpLogFont -medlem av CHOOSEFONT -strukturen inneholder informasjon som beskriver skriften og skriftattributter valgt av brukeren. RgbColors -medlem inneholder valgte tekstfargen. Eksempelkoden bruker denne informasjonen til å angi skrift- og farge for enheten sammenheng tilknyttet eiervinduet.
HWND hwnd; / / Eiervinduet
HDC hdc; / / vise enhetskontekst eier-vinduet
CHOOSEFONT cf; / / felles struktur, dialogboks
statisk LOGFONT lf; / / logiske skriftstrukturen
statisk DWORD rgbCurrent; / / gjeldende tekstfarge
HFONT hfont, hfontPrev;
DWORD rgbPrev;
/ / Initialisere CHOOSEFONT
ZeroMemory (amp; cf, sizeof(CHOOSEFONT));
CF.lStructSize = "sizeof" (CHOOSEFONT);
CF.hwndOwner = hwnd;
CF.lpLogFont = & lf;
CF.rgbColors = rgbCurrent;
CF.Flagg = CF_SCREENFONTS | CF_EFFECTS;
Hvis (ChooseFont(&cf) == TRUE) {
hfont = CreateFontIndirect(cf.lpLogFont);
hfontPrev = MerkObjekt hdc (, hfont);
rgbCurrent = cf.rgbColors;
rgbPrev = SetTextColor (hdc, rgbCurrent);
.
.
.
}