|
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À̶ó°í ÇÏ´Â º¯¼ö¿¡ º¸Á¸ÇØ µÓ´Ï´Ù.
´ÙÀ½¿¡ ij¸¯ÅÍ ¶óÀÎÀ» ¹¦È ÇÕ´Ï´Ù. ÆùÆ®¸íÀÌ 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ÆùÆ®¶õ ¸Þ´º³ª ´ÙÀÌ¾Ë·Î±× ¹Ú½º¿¡ »ç¿ëµÇ´Â µðÆúÆ®ÀÇ ÆùÆ®ÀÔ´Ï´Ù.
|