CreateFont

¿øÇü HFONT CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int fnWeight, DWORD fdwItalic, DWORD fdwUnderline, DWORD fdwStrikeOut, DWORD fdwCharSet, DWORD fdwOutputPrecision, DWORD fdwClipPrecision, DWORD fdwQuality, DWORD fdwPitchAndFamily, LPCTSTR lpszFace );
MFC ¿øÇü BOOL CFont::CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision, BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily, LPCTSTR lpszFacename );
Àμö

¢ºnHeight : ±ÛÀÚÀÇ ³ôÀÌ ¶Ç´Â ÆùÆ® ¼¿ÀÇ ³ôÀ̸¦ ³í¸®ÀûÀÎ ´ÜÀ§·Î ÁöÁ¤ÇÑ´Ù. ±ÛÀÚÀÇ ³ôÀÌ´Â ÆùÆ® ¼¿ÀÇ ³ôÀÌ¿¡¼­ internal leading°ªÀ» »« °ªÀÌ´Ù. ÀÌ °ªÀÌ 0ÀÏ °æ¿ì´Â µðÆúÆ® Å©±â°¡ »ç¿ëµÇ¸ç ¾ç¼öÀÏ °æ¿ì ¼¿ÀÇ ³ôÀ̸¦ ÁöÁ¤ÇÏ°í À½¼öÀÏ °æ¿ì ±ÛÀÚÀÇ ³ôÀ̸¦ Àý´ë°ªÀ¸·Î ÁöÁ¤ÇÑ´Ù.

¢ºnWidth : ÆùÆ®ÀÇ ÆøÀ» ³í¸® ´ÜÀ§·Î ÁöÁ¤Ç쵂 ÀÌ °ªÀÌ 0À̸é nHeight¿¡¼­ ÁöÁ¤ÇÑ ³ôÀÌ¿¡ µû¶ó ÆøÀ» ÀÚµ¿À¸·Î °áÁ¤ÇÑ´Ù. Áï ÀÌ °ªÀÌ 0À̸é ÆùÆ®ÀÇ Á¾È¾ºñ(ÀåÆò)°¡ ÀÏÁ¤ÇÏ´Ù.

¢ºnEscapement : ÆùÆ®ÀÇ °¢µµ¸¦ 0.1µµ ´ÜÀ§·Î ¼³Á¤ÇÑ´Ù. ÀÌ °¢µµ´Â ¹®ÀÚ°¡ Ãâ·ÂµÉ XÃà°ú ¹®ÀÚ¿­°úÀÇ °¢µµÀ̸ç ÀÏ»óÀûÀÎ 360ºÐ¹ýÀÇ °¢µµ ü°è¸¦ »ç¿ëÇÑ´Ù. Áï ¼¼ ½Ã ¹æÇâÀÌ 0µµ·Î »ç¿ëµÇ¸ç ¹Ý½Ã°è ¹æÇâÀ¸·Î °¢µµ°¡ Áõ°¡ÇÑ´Ù.

¢ºnOrientation : ±ÛÀÚ ÇÑ ÀÚ¿Í XÃà°úÀÇ °¢µµ¸¦ ÁöÁ¤ÇÑ´Ù. nEscapement´Â Àüü ¹®ÀÚ¿­ÀÇ ±â¿ï±â¸¦ ÁöÁ¤Çϴµ¥ ºñÇØ ÀÌ Àμö´Â °³º° ¹®ÀÚÀÇ ±â¿ï±â¸¦ ¼³Á¤ÇÑ´Ù. ÀÌ °ªÀº 95/98¿¡¼­´Â Àǹ̰¡ ¾øÀ¸¸ç NT¿¡¼­ GM_ADVANCED ±×·¡ÇÈ ¸ðµåÀÎ °æ¿ì¿¡ ÇÑÇØ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. GM_COMPATIBLE ¸ðµå¿¡¼­´Â nEscapement Àμö°¡ ÀÌ Àμö°ªÀ» µ¿½Ã¿¡ ÁöÁ¤ÇÏ¸ç µÎ °ªÀ» °°°Ô ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù.

¢ºfnWeight : ÆùÆ®ÀÇ ¹«°Ô¸¦ 0~1000±îÁöÀÇ °ªÀ¸·Î ¼³Á¤ÇÑ´Ù. ½±°Ô ¸»Çؼ­ ÆùÆ®ÀÇ µÎ²²¸¦ ¼³Á¤ÇÑ´Ù. 0~1000±îÁöÀÇ °ªÀ» ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç º¸Åë ±½±âÀÎ FW_NORMAL°ú ±½Àº ¹®ÀÚÀÎ FW_BOLD¸¸ »ç¿ëµÈ´Ù.

°ª µÎ²²
FW_DONTCARE 0
FW_THIN 100
FW_EXTRALIGHT 200
FW_ULTRALIGHT 200
FW_LIGHT 300
FW_NORMAL 400
FW_REGULAR 400
FW_MEDIUM 500
FW_SEMIBOLD 600
FW_DEMIBOLD 600
FW_BOLD 700
FW_EXTRABOLD 800
FW_ULTRABOLD 800
FW_HEAVY 900
FW_BLACK 900

¢ºfdwItalic : ±â¿ïÀÓü ¼Ó¼ºÀ» ¼³Á¤ÇÑ´Ù. µ¥ÀÌÅÍÇüÀÌ DWORDÀÌÁö¸¸ ºÒ¸°Çüó·³ »ç¿ëÇÑ´Ù. ¼Ó¼ºÀ» ÁÖ°í ½ÍÀ¸¸é 0 ÀÌ¿ÜÀÇ °ª(TRUE)¸¦ ÁÖ°í ¼Ó¼ºÀ» ÁÖÁö ¾ÊÀ¸·Á¸é 0(FALSE)¸¦ ÁØ´Ù.

¢ºfdwUnderline : ¹ØÁÙ ¼Ó¼ºÀ» ¼³Á¤ÇÑ´Ù. µ¥ÀÌÅÍÇüÀÌ DWORDÀÌÁö¸¸ ºÒ¸°Çüó·³ »ç¿ëÇÑ´Ù. ¼Ó¼ºÀ» ÁÖ°í ½ÍÀ¸¸é 0 ÀÌ¿ÜÀÇ °ª(TRUE)¸¦ ÁÖ°í ¼Ó¼ºÀ» ÁÖÁö ¾ÊÀ¸·Á¸é 0(FALSE)¸¦ ÁØ´Ù.

¢ºfdwStrikeOut : Ãë¼ÒÇå ¼Ó¼ºÀ» ¼³Á¤ÇÑ´Ù. µ¥ÀÌÅÍÇüÀÌ DWORDÀÌÁö¸¸ ºÒ¸°Çüó·³ »ç¿ëÇÑ´Ù. ¼Ó¼ºÀ» ÁÖ°í ½ÍÀ¸¸é 0 ÀÌ¿ÜÀÇ °ª(TRUE)¸¦ ÁÖ°í ¼Ó¼ºÀ» ÁÖÁö ¾ÊÀ¸·Á¸é 0(FALSE)¸¦ ÁØ´Ù.

¢ºfdwCharSet : ¹®ÀÚ ¼ÂÀ» ¼³Á¤ÇÑ´Ù. ÆùÆ® ¸ÅÆÛ°¡ ³í¸® ÆùÆ®¸¦ »ý¼ºÇÒ ¶§ ÂüÁ¶ÇÏ´Â Áß¿äÇÑ °ªÀ̹ǷΠÆùÆ®ÀÇ Å¸ÀÔ ÆäÀ̽º¸¦ ÁöÁ¤ÇÒ °æ¿ì ¹Ýµå½Ã ÇØ´ç ÆùÆ®ÀÇ ¹®Àڼ°ú ÀÏÄ¡Çϵµ·Ï ½á ÁÖ¾î¾ß ÇÑ´Ù.

¹®Àڼ ½ÇÁ¦°ª ¼³¸í
ANSI_CHARSET 0 À©µµ¿ìÁî¿¡¼­ »ç¿ëÇÏ´Â ¹®ÀÚ¼Â
DEFAULT_CHARSET 1 À̸§°ú Å©±â¸¸À¸·Î ÆùÆ®¸¦ ¼±ÅÃÇϵµ·Ï ÇÑ´Ù. ¸¸¾à ÀÌ ¹®ÀÚ¼ÂÀ¸·Î ÆùÆ®¸¦ »ý¼ºÇÒ ¶§ ÁöÁ¤ÇÑ ÆùÆ®°¡ ¾øÀ¸¸é ÀÓÀÇÀÇ ¹®ÀÚ¼ÂÀ¸·Î ´ëüµÉ ¼öµµ Àֱ⠶§¹®¿¡ ¿øÇÏÁö ¾Ê´Â ÆùÆ®°¡ »ý¼ºµÉ ¼öµµ ÀÖ´Ù.
SYMBOL_CHARSET 2  
OEM_CHARSET 255 ¿î¿µÃ¼Á¦¿¡ Á¾¼ÓÀûÀÎ ¹®ÀÚ¼Â
HANGUL_CHARSET 129 HANGUEL_CHARSETÀ¸·Î Áߺ¹ Á¤ÀǵǾî ÀÖ´Ù.
BALTIC_CHARSET 186  
CHINESEBIG5_CHARSET 136  
EASTEUROPE_CHARSET 238  
GB2312_CHARSET 134  
GREEK_CHARSET 161  
MAC_CHARSET 77  
RUSSIAN_CHARSET 204  
SHIFTJIS_CHARSET 128  
TURKISH_CHARSET 162  
JOHAB_CHARSET 130 ÇÑ±Û À©µµ¿ìÁî¿¡¼­¸¸ »ç¿ë °¡´É
HEBREW_CHARSET 177 Áß¾Ó ¾Æ½Ã¾Æ À©µµ¿ìÁî¿¡¼­¸¸ »ç¿ë °¡´É
ARABIC_CHARSET 178 Áß¾Ó ¾Æ½Ã¾Æ À©µµ¿ìÁî¿¡¼­¸¸ »ç¿ë °¡´É
THAI_CHARSET 222 ŸÀÌ À©µµ¿ìÁî¿¡¼­¸¸ »ç¿ë °¡´É

¢ºfdwOutputPrecision : Ãâ·Â Á¤È®µµ¸¦ ¼³Á¤ÇÑ´Ù. °°Àº À̸§ÀÇ ÆùÆ®°¡ ¿©·¯ ¹ú ÀÖÀ» °æ¿ì ÆùÆ® ¸ÅÆÛ°¡ ¾î¶² ÆùÆ®¸¦ ¼±ÅÃÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

°ª ¼³¸í
OUT_CHARACTER_PRECIS »ç¿ëµÇÁö ¾Ê´Â °ªÀÌ´Ù.
OUT_DEFAULT_PRECIS ÆùÆ® ¸ÅÆÛÀÇ µðÆúÆ® µ¿ÀÛÀ» Á¤ÀÇÇÑ´Ù.
OUT_DEVICE_PRECIS µð¹ÙÀ̽º ÆùÆ®¸¦ ¼±ÅÃÇϵµ·Ï ÇÑ´Ù.
OUT_OUTLINE_PRECIS Æ®·ç ŸÀÔ ¶Ç´Â ¿Ü°û¼± ÆùÆ®¸¦ ¼±ÅÃÇϵµ·Ï ÇÑ´Ù.
OUT_RASTER_PRECIS ·¡½ºÆ® ÆùÆ®¸¦ ¼±ÅÃÇϵµ·Ï ÇÑ´Ù.
OUT_STRING_PRECIS ÆùÆ® ¸ÅÆÛ°¡ »ç¿ëÇÏÁö ¾Ê´Â °ªÀÌµÇ ·¡½ºÆ® ÆùÆ® ¿­°Å½Ã ¸®ÅϵȴÙ.
OUT_STROKE_PRECIS ÆùÆ® ¸ÅÆÛ°¡ »ç¿ëÇÏÁö ¾Ê´Â °ªÀÌµÇ ·¡½ºÆ® ÆùÆ® ¿­°Å½Ã ¸®ÅϵȴÙ.
OUT_TT_ONLY_PRECIS Æ®·ç ŸÀÔ ÆùÆ®¸¦ ¼±ÅÃÇϵµ·Ï ÇÑ´Ù. Æ®·ç ŸÀÔ ÆùÆ®°¡ ¾øÀ¸¸é µðÆúÆ® µ¿ÀÛ´ë·Î ÇÑ´Ù.
OUT_TT_PRECIS Æ®·ç ŸÀÔ ÆùÆ®¸¦ ¼±ÅÃÇϵµ·Ï ÇÑ´Ù.

¢ºfdwClipPrecision : Ŭ¸®ÇÎ Á¤È®µµ¸¦ ¼³Á¤ÇÑ´Ù. Ŭ¸®ÇÎ ¿µ¿ªÀ» ¹þ¾î³­ ¹®ÀÚÀÇ ÀϺθ¦ ¾î¶»°Ô Ŭ¸³ÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÏ¸é ´ÙÀ½°ú °°Àº °ªµéÀÌ ÀÖ´Ù.

°ª ¼³¸í
CLIP_DEFAULT_PRECIS µðÆúÆ® Ŭ¸®ÇÎ µ¿ÀÛ
CLIP_CHARACTER_PRECIS »ç¿ëµÇÁö ¾ÊÀ½
CLIP_STROKE_PRECIS  
CLIP_MASK »ç¿ëµÇÁö ¾ÊÀ½
CLIP_EMBEDDED  
CLIP_LH_ANGLES  
CLIP_TT_ALWAYS »ç¿ëµÇÁö ¾ÊÀ½

¢ºfdwQuality : ³í¸®Àû ÆùÆ®¸¦ ¹°¸®Àû ÆùÆ®¿¡ ¾ó¸¶³ª ±ÙÁ¢½Ãų °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

°ª ¼³¸í
DEFAULT_QUALITY ÆùÆ®ÀÇ ¸ð¾çÀ» ¹®Á¦»ïÁö ¾Ê´Â´Ù.
DRAFT_QUALITY PROOF_QUALITYº¸´Ù ÇÑ´Ü°è ³·Àº Ç°Áú µî±ÞÀÌ´Ù.
PROOF_QUALITY ³í¸® ÆùÆ®ÀÇ ¼Ó¼ºº¸´Ù ±ÛÀÚÀÇ Ç°ÁúÀ» ´õ Áß¿ä½ÃÇÑ´Ù. ·¡½ºÅÍ ÆùÆ®ÀÇ °æ¿ì Å©±â°¡ °¡Àå ±ÙÁ¢ÇÑ ÆùÆ®°¡ ¼±ÅõȴÙ.

¢ºfdwPitchAndFamily : ÆùÆ®ÀÇ ÇÇÄ¡¿Í ±×·ìÀ» ¼³Á¤ÇÑ´Ù.ÇÏÀ§ 2ºñÆ®´Â ÆùÆ®ÀÇ ÇÇÄ¡¸¦ ³ªÅ¸³»¸ç »óÀ§ 4ºñÆ®´Â ÆùÆ®ÀÇ Æйи®¸¦ ÁöÁ¤ÇÑ´Ù. ÇÇÄ¡´Â ÆùÆ®ÀÇ ÆøÀÌ ±ÛÀÚ¸¶´Ù ´Ù¸¥°¡ ÀÏÁ¤ÇÑ°¡¸¦ ÁöÁ¤Çϸç DEFAULT_PITCH, FIXED_PITCH(°íÁ¤Æø), VARIABLE_PITCH(°¡º¯Æø) ¼¼°¡Áö°¡ ÀÖ´Ù. Æйи®´Â ȹÀÇ ±½±â¿Í ¼¼¸®ÇÁ Ư¼ºÀÌ °°Àº ÆùÆ®ÀÇ ¸ðÀÓÀÌ¸ç ´ÙÀ½ ´Ù¼¸ °¡Áö Á¾·ù°¡ ÀÖ´Ù.

Æйи® ¼³¸í
FF_DECORATIVE Àå½Äü
FF_DONTCARE Æйи®¸¦ »ó°üÇÏÁö ¾Ê´Â´Ù. ¶Ç´Â Æйи®¸¦ ¾Ë ¼ö ¾ø´Ù. ÀÌ °ªÀº ½ÇÁ¦·Î Á¸ÀçÇÏ´Â Æйи®°¡ ¾Æ´Ï¶ó ÀÓÀÇÀÇ Æйи®¸¦ ÁöĪÇÑ´Ù.
FF_MODERN °íÁ¤ÆøÀÌ¸ç ¼¼¸®ÇÁ´Â ÀÖÀ» ¼öµµ ÀÖ°í ¾øÀ» ¼öµµ ÀÖµû.
FF_ROMAN ¼¼¸®ÇÁ°¡ ÀÖ°í °¡º¯ÆøÀÌ´Ù.
FF_SCRIPT ¼ÕÀ» ¾´ µíÇÑ Çʱâü Çü½ÄÀÇ ÆùÆ®
FF_SWISS ¼¼¸®ÇÁ°¡ ¾ø°í °íÁ¤ÆøÀÌ´Ù.

ÀÌ Àμö¿¡ ÇÇÄ¡¿Í Æйи® °ªÀ» OR ¿¬»êÀÚ·Î °°ÀÌ ÁöÁ¤ÇÑ´Ù. ¿¹¸¦ µé¾î °íÁ¤ÆøÀÇ Roman Æйи® ÆùÆ®¸¦ ¿øÇÒ °æ¿ì FIXED_PITCH | FF_ROMAN°ªÀ» ÁöÁ¤ÇÏ¸é µÈ´Ù.

¢ºlpszFace : ±Û²ÃÀÇ À̸§À» ³ªÅ¸³»´Â ¹®ÀÚ¿­À» ¼³Á¤ÇÑ´Ù. °ø¹éÀ» Æ÷ÇÔÇÒ ¼ö ÀÖÀ¸¸ç ³Î Á¾·á ¹®ÀÚ¿­À» Æ÷ÇÔÇÏ¿© ÃÖ´ë 32¹®ÀÚ±îÁöÀÇ ±æÀ̸¦ °¡Áø´Ù. "Times New Roman", "±¼¸²" µî°ú °°ÀÌ ÆùÆ® À̸§À» Àû¾îÁØ´Ù. ¸¸¾à ÀÌ Àμö°¡ NULLÀ̰ųª ºó ¹®ÀÚ¿­ÀÏ °æ¿ì GDI´Â ´Ù¸¥ Ư¼ºÀÌ ÀÏÄ¡ÇÏ´Â ÃÖÃÊÀÇ ÆùÆ®¸¦ ¼±ÅÃÇÑ´Ù.

¸®ÅÏ ¼º°øÇÏ¸é ³í¸® ÆùÆ®ÀÇ ÇÚµéÀ» ¸®ÅÏÇÏ¸ç ¿¡·¯ ¹ß»ý½Ã NULLÀ» ¸®ÅÏÇÑ´Ù.
¼³¸í

CreateFont´Â Àμö°¡ ÁöÁ¤Çϴ Ư¼º¿¡ °¡Àå ÀÏÄ¡ÇÏ´Â ³í¸® ÆùÆ®¸¦ »ý¼ºÇϸç ÀÌ ÇÔ¼ö·Î »ý¼ºÇÑ ³í¸® ÆùÆ®´Â SelectObject ÇÔ¼ö¿¡ ÀÇÇØ DC¿¡ ¼±ÅõȴÙ. ³í¸® ÆùÆ®´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ »ç¿ëÇÏ°íÀÚ ÇÏ´Â ÆùÆ®¿¡ ´ëÇÑ Á¤ÀÇÀÏ »ÓÀÌ¸ç ½ÇÁ¦·Î ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â ¹°¸® ÆùÆ®¿Í´Â ´Ù¸£´Ù. GDI´Â ³í¸® ÆùÆ®ÀÇ Á¤º¸¸¦ ÂüÁ¶ÇÏ¿© ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â ¹°¸® ÆùÆ® Áß ³í¸® ÆùÆ®ÀÇ Æ¯¼º¿¡ °¡Àå ±ÙÁ¢ ÆùÆ®¸¦ ¼±ÅÃÇØ ÁØ´Ù. ³í¸® ÆùÆ®¿¡ °¡Àå ±ÙÁ¢ÇÏ´Â ¹°¸® ÆùÆ®¸¦ ã´Â °úÁ¤À» ÆùÆ® ¸ÊÇÎÀ̶ó°í ÇÏ¸ç ±× ¾Ë°í¸®ÁòÀ» ÆùÆ® ¸ÅÆÛ¶ó°í ÇÑ´Ù. CreateFont ÇÔ¼ö´Â Àμö°¡ ÁöÁ¤Çϴ Ư¼º´ë·Î ³í¸® ÆùÆ®¸¦ ¸¸µé »ÓÀ̸ç ÆùÆ® ¸ÅÆÛ¿¡ ÀÇÇØ ¹°¸® ÆùÆ®¸¦ ¼±ÅÃÇÏ´Â °ÍÀº SelectObject ÇÔ¼ö°¡ ÇÑ´Ù.

ÆùÆ® ¸ÅÆÛ°¡ ÆùÆ®¸¦ ¼±ÅÃÇÒ ¶§ °¡Àå ¿ì¼±ÀûÀ¸·Î °í·ÁÇÏ´Â ¿ä¼Ò´Â ¹®ÀÚ¼Â, ÆÐÄ¡¿Í Æйи® ±×¸®°í ŸÀÔ ÆäÀ̽ºÀÌ´Ù. µû¶ó¼­ Á¤È®ÇÑ °á°ú¸¦ ¾ò±â À§Çؼ­´Â ÃÖ¼ÒÇÑ ÀÌ ¼¼°ªÀ» Á¤È®ÇÏ°Ô ¿ä±¸ÇØ¾ß ÇÑ´Ù. ¸¸¾à "BaboFont"¶ó´Â À̸§À» °¡Áö´Â ÆùÆ®¸¦ ¼±ÅÃÇÏ°í ½Í´Ù°í Çؼ­ ŸÀÔ ÆäÀ̽º¸¸ "BaboFont"¶ó°í ¿ä±¸ÇÏ°í ³ª¸ÓÁö Á¤º¸¸¦ ¾Æ¹«·¸°Ô³ª ¿ä±¸ÇÒ °æ¿ì ÀÌ ÆùÆ®°¡ ¼³Ä¡µÇÁö ¾ÊÀº ½Ã½ºÅÛ¿¡¼­´Â ¾û¶×ÇÑ ÆùÆ®°¡ ¼±ÅÃµÉ ¼öµµ ÀÖ´Ù. ¹®ÀÚ¼Â, ÇÇÄ¡, Æйи® Á¤º¸¸¦ Á¤È®ÇÏ°Ô ¿ä±¸ÇßÀ¸¸é ¼³»ç ÀÌ ÆùÆ®°¡ ¾ø¾îµµ ÃÖ´ëÇÑ ºñ½ÁÇÑ ÆùÆ®¸¦ ã¾Æ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.

¿¹Á¦ 1

´ÙÀ½ ¿¹Á¦´Â 30Çȼ¿ÀÇ ±Ã¼­ ÆùÆ®¸¦ ¸¸µé¾î ÀÌ ÆùÆ®·Î ¹®ÀÚ¿­À» È­¸éÀ¸·Î Ãâ·ÂÇÑ´Ù.

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	HFONT font, oldfont;
	char str[]="WinApiÀÇ ÆùÆ® ¿¹Á¦ÀÔ´Ï´Ù.";

	switch(iMessage) {
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		font=CreateFont(30,0,0,0,0,0,0,0,HANGEUL_CHARSET,3,2,1,
			VARIABLE_PITCH | FF_ROMAN,"±Ã¼­");
		oldfont=(HFONT)SelectObject(hdc,font);
		TextOut(hdc, 50,50,str,lstrlen(str));
		SelectObject(hdc,oldfont);
		DeleteObject(font);
		EndPaint(hWnd, &ps);
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

CreateFont·Î ÆùÆ®¸¦ »ý¼ºÇÏ°í SelectObject ÇÔ¼ö·Î ÆùÆ®¸¦ ¼±ÅÃÇÑ ÈÄ ¹®ÀÚ¿­À» Ãâ·ÂÇÏ¿´´Ù. ÆùÆ®´Â »ç¿ëÇÑ ÈÄ¿¡ ¹Ýµå½Ã DeleteObject ÇÔ¼ö·Î »èÁ¦ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù.

CreateFont¿¡¼­ nHeight¿¡ 30À» ÁöÁ¤ÇÔÀ¸·Î½á ¹®ÀÚÀÇ ³ôÀ̸¦ 30À¸·Î ÁöÁ¤ÇßÀ¸¸ç nWidth¿¡ 0À» ÁöÁ¤ÇÔÀ¸·Î½á µðÆúÆ® ÆøÀ» »ç¿ëÇϵµ·Ï ÇÏ¿´´Ù. nHeight¸¦ -30À¸·Î ÁöÁ¤ÇÏ¸é ¹®ÀÚ ¼¿ ³ôÀÌ°¡ 30ÀÌ µÇ¾î ¹®ÀÚÀÇ Å©±â°¡ Á¶±Ý ´õ ÀÛ¾ÆÁú ¼öµµ ÀÖÀ¸³ª ÇÑ±Û ±Û²Ã¿¡¼­´Â °ÅÀÇ Â÷ÀÌ°¡ ¾ø´Ù. nWidth¿¡ 0ÀÌ ¾Æ´Ñ ÆøÀ» ÁÖ¸é ¹®ÀÚÀÇ ÀåÆòÀ» ÁÙ ¼öµµ ÀÖ´Ù.

font=CreateFont(30,10,0,0,0,0,0,0,HANGEUL_CHARSET,3,2,1,
	VARIABLE_PITCH | FF_ROMAN,"±Ã¼­");

fdwItalic, fdwUnderline µîÀÇ °ªÀ» 0ÀÌ ¾Æ´Ñ ´Ù¸¥ °ª(TRUE)·Î ÁÖ¸é ¹ØÁÙ ¹®ÀÚ³ª ±â¿ï¾îÁü ¹®ÀÚ¸¦ ¸¸µé ¼öµµ ÀÖ´Ù. ´ÙÀ½ ÄÚµå´Â Underline°ú Italic ¼Ó¼ºÀ» ÁÖ¾î ¹®ÀÚ¸¦ ¸¸µç °ÍÀÌ´Ù.

font=CreateFont(30,10,0,0,0,1,1,0,HANGEUL_CHARSET,3,2,1,
	VARIABLE_PITCH | FF_ROMAN,"±Ã¼­");

±Ã¼­ ÆùÆ®ÀÇ ³ª¸ÓÁö Ư¼º(HANGUL_CHARSET, VARIABLE_PITCH, FF_ROMAN)Àº ÆùÆ® ¿­°Å ÇÔ¼ö·Î ¹Ì¸® Á¶»çÇÑ ÈÄ ÁöÁ¤ÇÑ °ÍÀÌ´Ù. µû¶ó¼­ ¸¸¾à ±Ã¼­ ÆùÆ®°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀº ½Ã½ºÅÛ¿¡¼­ ÀÌ ¿¹Á¦°¡ ½ÇÇàµÇ´õ¶óµµ ÃÖ¼ÒÇÑ ÇÑ±Û ¹®ÀÚ¼ÂÀÇ °¡º¯ ÆùÆ®, Roman Æйи®ÀÇ °¡Àå ºñ½ÁÇÑ ÆùÆ®°¡ ¼±ÅõȴÙ. ÆùÆ®¸¦ Á» ´õ Á¤È®ÇÏ°Ô ¼±ÅÃÇÏ·Á¸é ¿­°Å Áß¿¡ ¿øÇÏ´Â ÆùÆ®¸¦ °Ë»öÇÑ ÈÄ »ý¼ºÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ÆùÆ® ¿­°Å ¹æ¹ý¿¡ ´ëÇؼ­´Â EnumFontFamilies ÇÔ¼ö¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.

¿¹Á¦ 2

´ÙÀ½ ¿¹Á¦´Â nEscapement, nOrientation Àμö·Î ±â¿ï¾îÁø ÆùÆ®¸¦ ¸¸µç´Ù.

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	HFONT font, oldfont;
	char str[]="WinApiÀÇ ÆùÆ® ¿¹Á¦ÀÔ´Ï´Ù.";

	switch(iMessage) {
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		// SetGraphicsMode(hdc,GM_ADVANCED);
		font=CreateFont(20,0,200,200,0,0,0,0,HANGEUL_CHARSET,3,2,1,
			VARIABLE_PITCH | FF_ROMAN,"±Ã¼­");
		oldfont=(HFONT)SelectObject(hdc,font);
		TextOut(hdc, 50,100,str,lstrlen(str));
		SelectObject(hdc,oldfont);
		DeleteObject(font);
		EndPaint(hWnd, &ps);
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

nEscapement¿Í nOrientation¿¡ °¢°¢ 200ÀÇ °ªÀ» ÁÜÀ¸·Î½á 20µµ ±â¿ï¾îÁø ¹®ÀÚ¿­À» ¸¸µé¾ú´Ù.

nOrientationÀº °³º° ¹®ÀÚÀÇ ±â¿ï±â¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖµÇ ´Ü ÀÌ Àμö´Â NT¿¡¼­ GM_ADVANCED È®Àå ±×·¡ÇÈ ¸ðµåÀÏ ¶§, ±×¸®°í Æ®·çŸÀÔ ÆùÆ®ÀÎ °æ¿ì¿¡¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ÄÚµå´Â °³º° ¹®Àڵ鸸 20µµ ±â¿ï¾îÁø ÇüÅ·ΠÆùÆ®¸¦ »ý¼ºÇÏ¿© Ãâ·ÂÇÑ´Ù. SetGraphicsMode ÇÔ¼ö·Î È®Àå ±×·¡ÇÈ ¸ðµå·Î ¼³Á¤ÇÏ¿´´Ù. ÀÌ ¿¹¿¡´Â NTÀ̻󿡼­¸¸ ½ÇÇàµÈ´Ù.

SetGraphicsMode(hdc,GM_ADVANCED);
font=CreateFont(20,0,0,200,0,0,0,0,HANGEUL_CHARSET,3,2,1,
	VARIABLE_PITCH | FF_ROMAN,"±Ã¼­");

¿¹Á¦ 3

´ÙÀ½ ¿¹Á¦´Â ÆùÆ® Ãâ·ÂÀÇ ¶Ç ´Ù¸¥ Çü½ÄÀ» º¸¿©ÁØ´Ù. ½Ã½ºÅÛÀÌ Áö¿øÇÏ´Â ±ÛÀÚÀÇ ¼Ó¼ºÀº ¹ØÁÙ, ±½°Ô, ±â¿ïÀÓ, Ãë¼Ò¼± Á¤µµ¹Û¿¡ ¾øÁö¸¸ Ãâ·Â¹®¿¡¼­ ÀÀ¿ëÇϱ⿡ µû¶ó¼­´Â ´Ù¾çÇÑ ¸ð¾çÀÇ ÆùÆ® Ãâ·ÂÀ» ÇÒ ¼ö ÀÖ´Ù.

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	HFONT font, oldfont;
	int i,j;
	char str[128];

	switch(iMessage) {
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		font=CreateFont(50,0,0,0,FW_BOLD,0,0,0,HANGEUL_CHARSET,3,2,1,
			VARIABLE_PITCH | FF_ROMAN,"±Ã¼­");
		oldfont=(HFONT)SelectObject(hdc,font);

		SetBkMode(hdc,TRANSPARENT);
		strcpy(str,"¿Ü°û¼± ¹®ÀÚ");
		for (i=-1;i<=1;i++)
			for (j=-1;j<=1;j++)
				TextOut(hdc,50+i,50+j,str,strlen(str));
		SetTextColor(hdc,RGB(255,255,255));
		TextOut(hdc,50,50,str,strlen(str));

		strcpy(str,"±×¸²ÀÚ ¹®ÀÚ");
		SetTextColor(hdc,RGB(192,192,192));
		TextOut(hdc,50+5,150+5,str,strlen(str));
		SetTextColor(hdc,RGB(0,0,0));
		TextOut(hdc,50,150,str,strlen(str));

		SelectObject(hdc,oldfont);
		DeleteObject(font);
		EndPaint(hWnd, &ps);
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

¿Ü°û¼± ¹®ÀÚ´Â »óÇÏÁ¿ì 8¹æÇâÀ¸·Î Ãâ·ÂÀ» ¸ÕÀú ÇÑ ÈÄ °¡¿îµ¥¿¡ ´Ù¸¥»öÀ¸·Î ¹®ÀÚ¿­À» Çѹø ´õ Ãâ·ÂÇÏ¸é µÇ¸ç ±×¸²ÀÚ ¹®ÀÚ´Â 5Çȼ¿ ¾Æ·¡ÂÊ¿¡ ¿¶Àº ¹®ÀÚ¿­À» ¸ÕÀú Ãâ·ÂÇÏ°í ±× À§¿¡ £Àº »öÀ¸·Î ¹®ÀÚ¿­À» Çѹø ´õ Ãâ·ÂÇÏ¸é µÈ´Ù. ÀÌ¿Ü¿¡µµ ´Ù¾çÇÑ ÇüÅÂÀÇ ÀÀ¿ëÀ» ÇÒ ¼ö ÀÖ´Ù.

Âü°íÇÔ¼ö

CreateFontIndirect :LOGFONT ±¸Á¶Ã¼·Î ÆùÆ®¸¦ »ý¼ºÇÑ´Ù.

SelectObject, GetStockObject, EnumFontFamilies

Ç÷¿Æû 95ÀÌ»ó
ÂüÁ¶  

written by http://www.winapi.co.kr