Yshopnoosa.com

Visa teckensnitt i MFC

Microsoft Foundation Class (MFC) biblioteket kan en programmerare plan teckensnitt displayen av en ansökan via klassen CFont. CFont kapslar in alla teckensnitt manipulationstekniker, och klassen ger fyra medlemsfunktioner för att skapa typsnitt. Följande steg visar genom exempel varje funktion och det accepterar indataparametrar.

Instruktioner

1 Visa alla CFont funktioner (CreateFont, CreateFontIndirect, CreatePointFont och CreatePointFontIndirect) i detta sammanhang. Du kan använda steg 2 till 5 skapa ett MFC CFont objekt, ger objektet parametrarna genom funktionen medlem i fråga, gälla en enhetskontext objektet och ta bort objektet.

2 Visa användning av funktionen "CreateFont":

definiera en MFC enhetskontext

CClientDC DC(this);

skapa ett CFont objekt

CFont teckensnitt;

tilldela parametrar

Font. CreateFont (11, 0, 0, 0, FW_NORMAL, falsk, falsk, falsk, 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);

tillämpa inställningarna av CFont objekt enhetskontext

DC. SelectObject(pFont);

ta bort objekt

Font. DeleteObject();

3 Demonstrera användningen av CreateFontIndirect():

definiera en enhetskontext

CClientDC dc(this);

skapa ett CFont objekt

CFont teckensnitt;

LOGFONT logFont;

logFont.lfHeight = 11;

strcpy (logFont.lfFaceName, "Arial");

tilldela parametrar

Font. CreateFontIndirect(&logFont);

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

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

tillämpa inställningarna av CFont objekt enhetskontext

DC. SelectObject(pFont);

ta bort objekt

Font. DeleteObject();

4 Illustrera funktionen "CreatePointFont":

definiera en MFC enhetskontext

CClientDC dc(this);

skapa ett CFont objekt

CFont teckensnitt;

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

tilldela parametrar

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

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

tillämpa inställningarna av CFont objekt enhetskontext

DC. SelectObject(pFont);

ta bort objekt

Font. DeleteObject();

5 Ge ett exempel att visa funktionen "CreatePointFontIndirect":

definiera en enhetskontext

CClientDC dc(this);

skapa ett CFont objekt

CFont teckensnitt;

LOGFONT logFont;

logFont.lfHeight = 140;

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

tilldela parametrar

Font. CreatePointFontIndirect(&logFont);

tillämpa inställningarna av CFont objekt enhetskontext

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

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

DC. SelectObject(pFont);

Font. DeleteObject()

Tips & varningar

  • Det finns mer att klassen CFont än omfattningen av denna artikel kan omfatta. Full täckning, finns i MSDN-biblioteket.