°¡.¸ÞŸ ·¹ÄÚµå ¿°Å¾Õ¿¡¼ ¸ÞŸ ÆÄÀÏÀÇ ±¸Á¶¿¡ ´ëÇØ °£·«ÇÏ°Ô ¾Ë¾Æ º¸¾Ò´Âµ¥ ´Ù½Ã Çѹø ´õ Á¤¸®ÇÏÀÚ¸é ¸ÞŸ ÆÄÀÏÀº ´Ü¼øÇÑ GDI ÇÔ¼ö È£ÃâÀÇ ÁýÇÕÀÏ »ÓÀÌ´Ù. Áï LineTo, SelectObject, CreatePen µûÀ§ÀÇ ÇÔ¼ö È£Ãâ¹®ÀÌ ºÎȣȵǾî ÀúÀåµÇ¾î ÀÖ´Â °ÍÀÌ ¸ÞŸ ÆÄÀÏÀÌ´Ù. ±×·¸´Ù¸é ¸ÞŸ ÆÄÀÏÀ» Àоî ÇØ¼®À» ÇØ º¸¸é ¾î¶² ÇÔ¼öµéÀÌ È£ÃâµÇ´ÂÁö¸¦ ¿ªÀ¸·Î ¾Ë¾Æ³¾ ¼öµµ ÀÖ´Ù´Â ¾ê±âÀε¥ °ú¿¬ ±×·¸´Ù. ±×·¯³ª ÀÏÀÏÀÌ ºÎÈ£ÈµÈ GDI ÇÔ¼ö È£Ãâ¹®À» ÀÏÀÏÀÌ ÇØµ¶Çس½´Ù´Â °ÍÀº ¹«Ã´ ¹ø°Å·Ó°í ±ÍÂúÀº ÀÛ¾÷Àε¥ ´ÙÀ½ ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é ¸ÞŸ ÆÄÀÏ¿¡ Æ÷ÇÔµÈ °¢°¢ÀÇ ¸ÞŸ ·¹Äڵ带 ¼ø¼´ë·Î ¾òÀ» ¼ö ÀÖ´Ù. BOOL EnumEnhMetaFile(HDC hdc, HENHMETAFILE hemf, ENHMFENUMPROC lpEnhMetaFunc, LPVOID lpData, CONST RECT *lpRect); ÀÌ ÇÔ¼ö´Â ¸ÞŸ ÆÄÀÏ¿¡ Æ÷ÇÔµÈ ¸ÞŸ ·¹Äڵ带 ¼ø¼´ë·Î ¿°ÅÇÏ¿© Äݹé ÇÔ¼ö·Î Àü´ÞÇØ ÁØ´Ù. ù¹øÂ° Àμö hdc´Â ¸ÞŸ ·¹Äڵ尡
¿°ÅµÉ DCÀÇ ÇÚµéÀÌ¸ç ¸¶Áö¸· Àμö lpRect´Â ¸ÞŸ ÆÄÀÏÀ» Ãâ·ÂÇÒ »ç°¢ ¿µ¿ª¿¡ ´ëÇÑ ³í¸®ÀûÀÎ ÁÂÇ¥ÀÌ´Ù. ¸ÞŸ´Â Å©±â º¯°æÀÌ
°¡´ÉÇÏ°í ¸ÊÇÎ ¸ðµå³ª ÁÂÇ¥ º¯È¯ ü°èÀÇ ¿µÇâÀ» ¹Þ±â ¶§¹®¿¡ ¿°ÅÁß¿¡ ¸ÞŸ ·¹Äڵ带 Ãâ·ÂÇØ º¸·Á¸é ÀÌ·± °ªµéÀ» ÀÐÀ» ¼ö ÀÖ´Â DCÀÇ
ÇÚµé°ú Ãâ·Â ¿µ¿ªÀ» ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ±×·¯³ª ¸¸¾à ¸ÞŸ ·¹Äڵ带 Ãâ·ÂÇÏÁö ¾Ê°í ¼ø¼öÇÏ°Ô ¸ÞŸ ·¹Äڵ常 º¸°í ½Í´Ù¸é hdc¿Í
lpRect´Â ÁöÁ¤ÇÏÁö ¾Ê¾Æµµ »ó°ü¾ø´Ù. hdc´Â ±×´ë·Î Äݹé ÇÔ¼ö·Î Àü´ÞµÇ¸ç lpRect´Â Çì´õ ·¹Äڵ忡 Æ÷ÇԵǴµ¥ ÀÌ °ªÀº
PlayEnhMetaRecord ÇÔ¼ö¿¡ ÀÇÇØ ¸ÞŸ ·¹Äڵ带 Ãâ·ÂÇÒ ¶§ »ç¿ëµÈ´Ù. int CALLBACK EnhMetaFileProc(HDC hDC, HANDLETABLE *lpHTable, CONST ENHMETARECORD *lpEMFR, int nObj, LPARAM lpData); hDC, lpData´Â EnumEnhMetaFileÇÔ¼ö·ÎºÎÅÍ Àü´Þ¹ÞÀº °ÍÀÌ°í ³ª¸ÓÁö ¼¼ Àμö´Â ¸ÞŸ ·¹Äڵ忡 ´ëÇÑ Á¤º¸¸¦ °¡Áø´Ù. lpHTableÀº ¸ÞŸ ÆÄÀϳ»ÀÇ ±×·¡ÇÈ ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ ÇÚµé ¹è¿À̸ç nObj´Â ÀÌ ¹è¿ÀÇ Å©±âÀÌµÇ ÀÌ ¹è¿Àº ºÐ¼®¿¡ »ç¿ëµÈ´Ù±âº¸´Ù PlayEnhMetaRecord ÇÔ¼ö·Î Àü´ÞµÇ¾î Àç»ý¿¡ »ç¿ëµÈ´Ù. ¼¼¹øÂ° Àμö lpEMFRÀÌ ¸ÞŸ ·¹ÄÚµåÀε¥ ÀÌ ·¹ÄÚµå´Â ¾Õ¿¡¼µµ »ìÆì º¸¾Ò´Ù½ÃÇÇ ´ÙÀ½°ú °°Àº °¡º¯ ±æÀÌÀÇ ±¸Á¶Ã¼ÀÌ´Ù. typedef struct tagENHMETARECORD { // enmr iTypeÀ» ÀÐÀ¸¸é ¾î¶² GDI ÇÔ¼ö È£ÃâÀÎÁö ¾Ë ¼ö ÀÖÀ¸¸ç nSize´Â ¸ÞŸ ·¹ÄÚµåÀÇ Å©±â¸¦ ¹ÙÀÌÆ® ´ÜÀ§·Î Á¶»çÇÒ ¼ö ÀÖ´Ù. ´Ü nSize¿¡´Â iType°ú nSize ÀÚüÀÇ Å©±âµµ Æ÷ÇԵǹǷΠ½ÇÁ¦ ÀμöÀÇ ±æÀÌ´Â ÀÌ °ªÀÌ ÁöÁ¤ÇÏ´Â °ªº¸´Ù 8 ´õ ÀÛ´Ù. dParm ¹è¿Àº GDI ÇÔ¼öÀÇ Àμö¿¡ ´ëÇÑ Á¤º¸¸¦ °¡Áö°í Àִµ¥ GDI ÇÔ¼öÀÇ Àμö´Â ´ëºÎºÐ Á¤¼öÇüÀ̹ǷΠDWORDÇü¿¡ ´ëÇÑ ¹è¿·Î Á¤ÀǵǾî ÀÖ´Ù. ÀÌ·¸°Ô Àü´Þ¹Þ´Â ¸ÞŸ ·¹ÄÚµå´Â ÀÓÀÇ´ë·Î ºÐ¼®ÇØ º¼ ¼ö ÀÖÁö¸¸ Á÷Á¢ º¯°æÀº ÇÒ ¼ö ¾øÀ¸¸ç ²À º¯°æÇØ¾ß ÇÑ´Ù¸é »çº»À» ¸¸µç ÈÄ º¯°æÇØ¾ß ÇÑ´Ù. ¸ÞŸ ·¹Äڵ带 ´Ü¼øÈ÷ Ãâ·ÂÇØ º¸±â¸¸ ÇÏ·Á¸é ´ÙÀ½ ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. BOOL PlayEnhMetaFileRecord(HDC hdc, LPHANDLETABLE lpHandletable, CONST ENHMETARECORD *lpEnhMetaRecord, UINT nHandles); dc, ÇÚµé Å×ÀÌºí ±×¸®°í ¸ÞŸ ·¹Äڵ带 Àü´ÞÇØ ÁÖ¸é ÀÌ ·¹ÄÚµåÀÇ GDI ÇÔ¼ö È£Ãâ¹®ÀÌ ½ÇÇàµÉ °ÍÀÌ´Ù |