WTLÀº GDI¿ÀºêÁ§Æ®ÀÇ ÆùÆ®¸¦ CFontTÀ̶ó°í ÇÏ´Â ÅÛÇø´ Ŭ·¡½º¿¡¼­ ĸ½¶È­Çϰí ÀÖ½À´Ï´Ù. ÅÛÇø´ Àμö´Â bool°ªÀ¸·Î trueÀÇ °æ¿ì´Â ¼Ò¸êÀÚ·ÎDeleteObject()¸¦ È£ÃâÇØ  falseÀÇ °æ¿ì´Â È£ÃâÇÏÁö ¾Ê½À´Ï´Ù.  atlgdi.hÇì´õ¿¡¼­´Âtypedef¿¡ ÀÇÇØ ´ÙÀ½°ú °°ÀÌ ¼±¾ðµÇ°í ÀÖ½À´Ï´Ù.

// atlgdi.h³»

typedef CFontT<false>  CFontHandle;

typedef CFontT<true>   CFont;

                      


¡¡WTLÀÇ CFontŬ·¡½º´Â  MFCÀÇ µ¿¸íÀÇ Å¬·¡½º¿Í °ÅÀÇ °°Àº ¸â¹ö ÇÔ¼ö¸¦ ÁغñÇØ ÀÖ½À´Ï´Ù.  ¾Æ·¡¿¡ ³ªÅ¸³»´Â °ÍÀº CFontŬ·¡½º¸¦ »ç¿ëÇØ Ŭ¶óÀÌ¾ðÆ® ¿µ¿ªÀÇ Áß¾Ó¿¡ "Arial Black"ÆùÆ®ÀÇ Ä³¸¯ÅÍ ¶óÀÎÀ» ¹¦È­ ÇÏ´Â ¿¹ÀÔ´Ï´Ù.

 

// WM_PAINT¸Þ¼¼Áö Çڵ鷯

void OnPaint(HDC /*hDC*/){

    CPaintDC dc(m_hWnd);

 

    // »çÀÌÁî20Æ÷ÀÎÆ®ÀÇ"Arial Black"ÆùÆ®¸¦ ÀÛ¼ºÇØ , ¼±ÅÃ

    CFont font;

    font.CreatePointFont(200, _T("Arial Black"));

    HFONT hOldFont = dc.SelectFont(font);

 

    // ÅØ½ºÆ®»öÀ» »¡°­À¸·Î ¼³Á¤

    dc.SetTextColor(RGB(255, 0, 0));

 

    // Ŭ¶óÀÌ¾ðÆ® ±¸ÇüÀ» ÃëµæÇØ , ij¸¯ÅÍ ¶óÀÎÀ» ¹¦È­

    CRect rect;

    GetClientRect(rect);

    dc.DrawText(_T("Hello, ATL/WTL"), -1,

        rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);

 

    // ¿øÀÇ ÆùÆ®¸¦ ¼±ÅÃ

    dc.SelectFont(hOldFont);

}

                      


¡¡ÀÌ ¿¹¿¡¼­´Â  ¿ì¼± ÆùÆ® ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇØ  ±×°ÍÀ»SelectFont()·Î ÇöÀçÀÇ ÆùÆ®·Î¼­ ¼±ÅÃÇϰí ÀÖ½À´Ï´Ù. µ¡ºÙ¿©CreatePointFont()ÀÇ Á¦1Àμö´Â1/10Æ÷ÀÎÆ® ´ÜÀ§ÀÇ font size¸¦ ¹ÞÀ¸¹Ç·Î  ¹¦È­ ÇÏ°í ½ÍÀº Æ÷ÀÎÆ® »çÀÌÁ10¹è°¡ µÇ¾î °Ç³×ÁÝ´Ï´Ù.  SelectFont()(Àº)´Â Àμö¿¡HFONTÇüÅÂÀÇ º¯¼ö¸¦ ¹Þ½À´Ï´Ù¸¸  CFontTŬ·¡½º´Â HFONTº¯È¯ ¿¬»êÀÚ¸¦ °¡Áö°í ÀÖÀ¸¹Ç·Î ±×´ë·Î °Ç³×ÁÙ ¼ö°¡ ÀÖ½À´Ï´Ù. SelectFont()´Â ÀÌÀüÀÇ ÆùÆ® ÇÚµéÀ» µ¹·ÁÁֹǷΠ À̰ÍÀ»hOldFontÀ̶ó°í ÇÏ´Â º¯¼ö¿¡ º¸Á¸ÇØ µÓ´Ï´Ù.

´ÙÀ½¿¡  Ä³¸¯ÅÍ ¶óÀÎÀ» ¹¦È­ ÇÕ´Ï´Ù. ÆùÆ®¸íÀÌ Arial Black ·Î  font size°¡20Æ÷ÀÎÆ®ÀÇ ºÓÀº ij¸¯ÅÍ ¶óÀÎÀÌ ¹¦È­ µË´Ï´Ù.

¸¶Áö¸·À¸·Î , ¹æ±ÝÀü º¸Á¸ÇØ µÐ ¿øÀÇ ÆùÆ® Çڵ鿡 µÇµ¹¸®±â À§ÇØ  ÀçÂ÷SelectFont()¸¦ È£ÃâÇØ ¿øÀÇ ÆùÆ® ÇÚµéÀ» ¼±ÅÃÇÕ´Ï´Ù.

¡¡±×·±µ¥ WTL´Â ½ºÅå ÆùÆ®µµ ¼­Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù. ÀÌÇÏ¿¡ ³ªÅ¸³»´Â °ÍÀº  ½ºÅå ÆùÆ®¿¡ ÀÇÇØ ½Ã½ºÅÛ ÆùÆ®·Î ij¸¯ÅÍ ¶óÀÎÀ» ¹¦È­ ÇÏ´Â ¿¹ÀÔ´Ï´Ù.

// WM_PAINT¸Þ¼¼Áö Çڵ鷯

void OnPaint(HDC /*hDC*/){

    CPaintDC dc(m_hWnd);

 

    // ½ºÅå ÆùÆ®¸¦ ¼±ÅÃ

    HFONT hOldFont = dc.SelectStockFont(SYSTEM_FONT);

 

    // ÅØ½ºÆ®»öÀ» »¡°­À¸·Î ¼³Á¤

    dc.SetTextColor(RGB(255, 0, 0));

 

    // Ŭ¶óÀÌ¾ðÆ® ±¸ÇüÀ» ÃëµæÇØ , ij¸¯ÅÍ ¶óÀÎÀ» ¹¦È­

    CRect rect;

    GetClientRect(rect);

    dc.DrawText(_T("Hello, ATL/WTL"), -1,

        rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);

 

    // ¿øÀÇ ÆùÆ®¸¦ ¼±ÅÃ

    dc.SelectFont(hOldFont);

}

                      


±×¸®°í atlmisc.h Çì´õ¿¡ Á¤Àǵǰí ÀÖ´Ù AtlGetStockFont()¶ó°í ÇÏ´Â ±Û·Î¹ú ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é  ½ºÅå ÆùÆ®ÀÇ ÇÚµéÀ» ÃëµæÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

// ½ºÅå ÆùÆ®ÀÇ ÇÚµéÀ» Ãëµæ

HFONT hStockFont = AtlGetStockFont(SYSTEM_FONT);

                      


°Ô´Ù°¡ atlapp.hÇì´õ¿¡ Á¤Àǵǰí ÀÖ´Ù.  AtlGetDefaultGuiFont()¶ó°í ÇÏ´Â ±Û·Î¹ú ÇÔ¼ö¸¦ »ç¿ëÇϸé , ½ºÅå ÆùÆ® Áß¿¡¼­µµ µðÆúÆ® GUIÆùÆ®ÀÇ ÇÚµéÀ» ÃëµæÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

// µðÆúÆ®GUIÆùÆ®ÀÇ ÇÚµéÀ» Ãëµæ

HFONT hGUIFont = AtlGetDefaultGuiFont();

 

// AtlGetStockFont()À» »ç¿ëÇØ À§¿Í °°Àº ÆùÆ®ÀÇ ÇÚµéÀ» Ãëµæ

HFONT hStockFont = AtlGetStockFont(DEFAULT_GUI_FONT);

                      


µðÆúÆ® GUIÆùÆ®¶õ  ¸Þ´º³ª ´ÙÀÌ¾Ë·Î±× ¹Ú½º¿¡ »ç¿ëµÇ´Â µðÆúÆ®ÀÇ ÆùÆ®ÀÔ´Ï´Ù.