Slik viser Fonts i MFC

Microsoft Foundation Class (MFC) Library lar en programmerer plan skriften visning av et program gjennom CFont klassen. CFont omslutter alle skriftmanipulasjonsteknikker, og klassen har fire medlem funksjoner for å lage fonter. Følgende trinn viser ved eksempel hver funksjon og inngangsparametre den godtar.

Bruksanvisning

1 Demonstrer alle CFont funksjoner (CreateFont, CreateFontIndirect, CreatePointFont og CreatePointFontIndirect) i samme kontekst. Du kan bruke trinn 2-5 for å opprette en MFC CFont objekt, gi objektparametere gjennom medlemsfunksjonen i spørsmålet, gjelder gjenstanden til en enhet kontekst og slett objektet.

2 Vise bruk av "CreateFont" funksjon:


// Definerer en enhet sammenheng MFC

CClientDC DC (dette);

// Oppretter et CFont objekt

CFont skrifttype;

// Angi parametre

font.CreateFont (11, 0, 0, 0, FW_NORMAL, USANN, USANN, USANN, 0, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_ROMAN, "Times New Roman");

CFont * pFont = DC.SelectObject (& font);

DC.TextOut (5, 5, "Hello World", 10);

// Bruke innstillinger av CFont objekt på enheten sammenheng

DC.SelectObject (pFont);

// Slette objekt

font.DeleteObject ();

3 Demonstrere bruken av CreateFontIndirect ():


// Definere en enhet kontekst

CClientDC dc (denne);

// Oppretter et CFont objekt

CFont skrifttype;

LOGFONT logFont;

logFont.lfHeight = 11;

strcpy (logFont.lfFaceName, "Arial");

// Angi parametre

font.CreateFontIndirect (& logFont);

CFont * pFont = dc.SelectObject (& font);

dc.TextOut (5, 5, "Hello World", 10);

// Bruke innstillinger av CFont objekt på enheten sammenheng

dc.SelectObject (pFont);

// Slette objekt

font.DeleteObject ();

4 Illustrere "CreatePointFont" funksjon:


// Definerer en enhet sammenheng MFC

CClientDC dc (denne);

// Oppretter et CFont objekt

CFont skrifttype;

font.CreatePointFont (120, "Times New Roman");

// Angi parametre

CFont * pFont = dc.SelectObject (& font);

dc.TextOut (5, 5, "Hello World", 10);

// Bruke innstillinger av CFont objekt på enheten sammenheng

dc.SelectObject (pFont);

// Slette objekt

font.DeleteObject ();

5 Gi et eksempel for å vise "CreatePointFontIndirect" funksjon:


// Definere en enhet kontekst

CClientDC dc (denne);

// Oppretter et CFont objekt

CFont skrifttype;

LOGFONT logFont;

logFont.lfHeight = 140;

strcpy (logFont.lfFaceName, "New Times Roman");

// Angi parametre

font.CreatePointFontIndirect (& logFont);

// Bruke innstillinger av CFont objekt på enheten sammenheng

CFont * pFont = dc.SelectObject (& font);

dc.TextOut (5, 5, "Hello World", 10);

dc.SelectObject (pFont);

font.DeleteObject ()

Hint

  • Det er mer til CFont klasse enn omfanget av denne artikkelen kan dekke. For full dekning, se MSDN Library.