Hvis du velger en skrift

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);
 .
 .
 .
} 

Index