TN040: MFC/OLE À§Ä¡¿¡¼­ Å©±â Á¶Á¤ ¹× È®´ë/Ãà¼Ò

ÀÌ ³ëÆ®´Â Á¦ÀÚ¸®¿¡¼­ ÆíÁý¿¡ °ü·Ã µÈ ¹®Á¦ ¹× ¼­¹ö ÇØ¾ß ¿Ã¹Ù¸¥ È®´ë ¼öÇà ¹æ¹ý°ú Àå¼Ò Å©±â ³íÀÇÇÒ ¿¹Á¤ ÀÌ´Ù. ÇöÀç À§Ä¡¿¡¼­ Ȱ¼ºÈ­¸¦ WYSIWYG °³³ä ±× ¿ë±â¿¡ ÇÑ °ÉÀ½ ´õ ³ª¾Æ°¡ ÃÔ¿µ µË´Ï´Ù¿Í ¼­¹ö, ¼­·Î Çù·Â ÇÏ °í ƯÈ÷ ÇØ¼® OLE »ç¾çÀÇ °ÅÀÇ °°Àº ¹æ¹ýÀ¸·Î¡£

ÄÁÅ×À̳ʸ¦ ÇöÀç À§Ä¡¿¡¼­ Ȱ¼ºÈ­¸¦ Áö ¿øÇÏ´Â ¼­¹ö »çÀÌÀÇ ´Ý±â »óÈ£ ÀÛ¿ëÀÇ ¶§¹®¿¡ °Å±â¿¡ ´Ù¾ç ÇÑ À¯Áö °ü¸® ÇØ¾ß ÇÏ´Â ÃÖÁ¾ »ç¿ëÀÚ ·ÎºÎÅÍ ±â´ë:

¸Þ¸ðnbsp;??ÇöÀç À§Ä¡¿¡¼­ Ȱ¼ºÈ­ (¿¬°á µÇÁö ¾ÊÀº) Æ÷ÇÔ ÇÏ´Â Ç׸ñ¿¡¸¸ Àû¿ë µË´Ï´Ù, ¶§¹®¿¡ È®´ë¸¸ Æ÷ÇÔµÈ °³Ã¼¿¡ Àû¿ë µË´Ï´Ù. COleServerItem COleServerDoc ¿¡¼­ È®´ë/Ãà¼Ò¿¡ »ç¿ë µÇ´Â Api¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÌ À̺йý¿¡ ´ë ÇÑ ÀÌÀ¯´Â ¿¬°á ¹× Æ÷ÇÔ µÈ Ç׸ñ¿¡ ´ë ÇÑ À¯È¿ÇÑ ÇÔ¼ö¸¸ COleServerItem ¿¡¼­ (ÀÌ ¼ö ÀÖ½À´Ï´Ù ÀϹÝÀûÀÎ ±¸ÇöÀÌ) COleServerDoc Ŭ·¡½º¿¡ ÀÖ´Â ±â´ÉÀ» Æ÷ÇÔ µÈ °³Ã¼¿¡ ´ëÇØ¼­¸¸ À¯È¿ ÇÏ °í (¼­¹öÀÇ °üÁ¡¿¡¼­ ±×°ÍÀÌ Æ÷ÇÔ µÈ ¹®¼­ )(&N)¡£

´ëºÎºÐÀÇ ºÎ´ã¿¡¼­ ¼­¹ö ÄÁÅ×À̳ÊÀÇ È®´ë/Ãà¼Ò ºñÀ²À» ¾Ë°í ÀÖ¾î¾ß ÇÏ °í ÀûÀý ÇÏ °Ô ÆíÁý ÀÎÅÍÆäÀ̽º¸¦ ¼öÁ¤ ÇØ¾ß ÇÕ´Ï´Ù ¼­¹ö ±¸ÇöÀÚ¿¡ ¹èÄ¡ µË´Ï´Ù. ÇÏÁö¸¸ ¾î¶»°Ô ¼­¹ö ÄÁÅ×À̳ʸ¦ »ç¿ë ÇÏ ¿© È®´ë/Ãà¼Ò ºñÀ²À» °áÁ¤ Çմϱî?

È®´ë/Ãà¼Ò¿¡ ´ë ÇÑ MFC Áö¿ø

COleServerDoc::GetZoomFactor¸¦ È£Ãâ ÇÏ ¿© ÇöÀç È®´ë/Ãà¼Ò ºñÀ²À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®¼­´Â ÇöÀç À§Ä¡¿¡¼­ Ȱ¼ºÈ­ µÉ ¶§ È£Ãâ Ç×»ó 100% È®´ë/Ãà¼Ò ºñÀ² (¶Ç´Â 1: 1 ºñÀ²)¿¡ ¹ß»ý ÇÕ´Ï´Ù. ÇöÀç À§Ä¡¿¡¼­ Ȱ¼ºÈ­ 100% ÀÌ¿ÜÀÇ °ªÀ» ¹ÝȯÇÒ ¼ö ÀÖ½À´Ï´Ù ÇÏ´Â µ¿¾È È£Ãâ¡£

¿Ã¹Ù¸£°Ô È®´ëÀÇ ¿¹¿¡ ´ë ÇÑ MFC OLE »ùÇÃÀ» ÂüÁ¶ ÇϽʽÿÀ. HIERSVR. ÅØ½ºÆ®¸¦ Ç¥½Ã ÇÏ´Â »ç½Ç¿¡ ÀÇÇØ º¹Àâ HIERSVR È®´ë-ÅØ½ºÆ®, ÀϹÝÀûÀ¸·Î È®Àå µÇÁö ¾Ê½À´Ï´Ù (ÈùÆ®, ȰÀÚü ±Ô¾à, ³Êºñ¿Í ³ôÀÌ ¸ðµÎ ¹®Á¦¸¦ º¹Àâ ÇÏ °Ô µðÀÚÀÎ) ¼±Çü ÆÐ¼Ç¿¡¼­ ¹×. ¾ÆÁ÷µµ, HIERSVR Á¦´ë·Î È®´ë¸¦ ±¸Çö Çϱâ À§ÇÑ ÇÕ¸®ÀûÀÎ ±âÁØ ÀÌ¸ç ±×·¡¼­ MFC Æ©Å丮¾ó ³«¼­ (7 ´Ü°è)¡£

COleServerDoc::GetZoomFactor ´Â ´Ù¸¥ Åë°è¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ÄÁÅ×ÀÌ³Ê ¶Ç´Â COleServerItem ¹× COleServerDoc Ŭ·¡½ºÀÇ ±¸Çö¿¡¼­ ¼ö¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â È®´ë/Ãà¼Ò ºñÀ²À» °áÁ¤ ÇÕ´Ï´Ù. Áï, ÇöÀç È®´ë/Ãà¼Ò ¹èÀ²Àº ´ÙÀ½ ¼ö½Ä¿¡ ÀÇÇØ °áÁ¤ µË´Ï´Ù.

»ç°¢Çü (È«º¸) À§Ä¡ / ÄÁÅ×ÀÌ³Ê ¹üÀ§ (CE)

À§Ä¡ »ç°¢Çü ÄÁÅ×À̳ʿ¡ ÀÇÇØ °áÁ¤ µË´Ï´Ù. COleClientItem::OnGetItemPosition ¶ó°í ÇÏ °í (ÇÔ²² COleClientItem::SetItemRectsÈ£Ãâ) ¼­¹ö COleServerDoc::OnSetItemRects ¸¦ È£Ãâ ÇÏ´Â ÄÁÅ×ÀÌ³Ê ¾÷µ¥ÀÌÆ® ÇÏ´Â °æ¿ì ÇöÀç À§Ä¡¿¡¼­ Ȱ¼ºÈ­ ÇÏ´Â µ¿¾È ¼­¹ö¿¡ ¹Ýȯ µË´Ï´Ù.

ÄÁÅ×ÀÌ³Ê ¹üÀ§ °è»ê¿¡ ¾à°£ ´õ º¹Àâ ÇÏ´Ù. ÄÁÅ×ÀÌ³Ê ¶ó´Â COleServerItem::OnSetExtent (¿Í COleClientItem::SetExtentÀ» È£Ãâ), ´ÙÀ½ ÄÁÅ×ÀÌ³Ê ¹üÀ§ °æ¿ì ³í¸® ÀÎÄ¡ ´ç Çȼ¿ ¼ö¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â Çȼ¿ÀÌ °ªÀÌ º¯È¯ µË´Ï´Ù. ÄÁÅ×ÀÌ³Ê (ÀÌ °æ¿ì ÀϹÝÀûÀ¸·Î) Setextent¸¦ È£Ãâ ÇÏÁö°¡, ÄÁÅ×ÀÌ³Ê ¹üÀ§´Â COleServerItem::OnGetExtent¿¡¼­ ¹Ýȯ µÈ Å©±âÀÔ´Ï´Ù. ±×·¡¼­, ÄÁÅ×À̳ʿ¡ SetExtent ¶ó´Â ¸é ÇÁ·¹ÀÓ ¿öÅ©´Â °æ¿ì ÄÁÅ×À̳ʴ À̶ó°í ±×°Í ÀÚ¿¬ Á¤µµ ( COleServerItem::GetExtent¿¡¼­ ¹Ýȯ ÇÏ´Â °ª)À» 100%·Î °¡Á¤ ÇÕ´Ï´Ù. ¶Ç´Â ´Ù¸¥ ¹æ¹ýÀ¸·Î, ¸í½Ã µÈ ÇÁ·¹ÀÓ ¿öÅ©¸¦ °¡Á¤ ÄÁÅ×ÀÌ³Ê Ç׸ñÀÇ 100% (ÀÌ»ó, ¾Æ´Ï ´ú) Ç¥½Ã¡£

±×°ÍÀº COleServerItem::OnSetExtent ¹× COleServerItem::OnGetExtent ¿Í À¯»çÇÑ À̸§À», ºñ·Ï ±×µéÀº Á¶ÀÛ ÇÏÁö Ç׸ñÀÇ µ¿ÀÏÇÑ Æ¯¼ºÀ» ¸Þ¸ð ÇÏ´Â °ÍÀÌ Áß¿ä ÇÕ´Ï´Ù. OnSetExtent ÀÎÁö ¾ó¸¶³ª ¸¹Àº °³Ã¼ (È®´ë/Ãà¼Ò ºñÀ²) °ü°è ¾øÀÌ ÄÁÅ×À̳ʿ¡ Ç¥½Ã ÇÏ´Â ¼­¹ö¸¦ È£Ãâ ÇÏ °í OnGetExtent °³Ã¼ÀÇ ÀÌ»óÀûÀÎ Å©±â¸¦ È®ÀÎ ÇÏ·Á¸é ÄÁÅ×À̳ʿ¡ ÀÇÇØ È£Ã⠵˴ϴÙ.

¿©±â¿¡ Âü¿© ÇÏ´Â ApiÀÇ °¢À» º¸¸é ¸íÈ®ÇÑ ±×¸²À» ¾òÀ» ¼öÇÕ´Ï´Ù ÀÖ½À´Ï´Ù.:

COleServerItem::OnGetExtent

ÀÌ ÇÔ¼ö´Â HIMETRIC ´ÜÀ§ Ç׸ñÀÇ "±âº» Å©±â"¸¦ ¹Ýȯ ÇØ¾ß ÇÕ´Ï´Ù. "ÀÚ¿¬ Å©±â" »ý°¢ ÇÏ´Â °¡Àå ÁÁÀº ¹æ¹ýÀº ÀÎ¼â µÉ ¶§ ³ªÅ¸³ª´Â Å©±â ±×°ÍÀ» Á¤ÀÇ ÇÏ´Â °Í. Å©±â °°½À´Ï´Ù. (ƯÁ¤ Ç׸ñ¿¡ ´ë ÇÑ »ó¼ö´Â metafile ó·³) ƯÁ¤ Ç׸ñ ³»¿ë¿¡ ´ë ÇÑ »ó¼ö¸¦ ¹Ýȯ ÇÕ´Ï´Ù. ÀÌ Å©±â´Â È®´ë/Ãà¼Ò Ç׸ñ¿¡ Àû¿ë µÉ ¶§ º¯°æ µÇÁö ¾Ê½À´Ï´Ù. ÀϹÝÀûÀ¸·Î ÄÁÅ×ÀÌ³Ê Ç׸ñ ´õ ¸¹°Å³ª ÀûÀº °ø°£ Á¦°ø OnSetExtent¸¦ È£Ãâ ÇÏ ¿© ¶§ º¯°æ µÇÁö ¾Ê½À´Ï´Ù. º¯°æÀÇ ¿¹·Î ÅØ½ºÆ® ÄÁÅ×À̳ʿ¡¼­ º¸³½ ¸¶Áö¸· Á¤µµ¿¡ µû¶ó Æ÷Àå "¿©¹é" ±â´É ¾øÀÌ °£´ÜÇÑ ÅØ½ºÆ® ÆíÁý±â µÉ ¼öµµ ÀÖ½À´Ï´Ù. ¼­¹ö º¯°æ, ¼­¹ö ¾Æ¸¶ ¼³Á¤ ÇØ¾ß ½Ã½ºÅÛ ·¹Áö½ºÆ®¸®¿¡ ºñÆ® OLEMISC_RECOMPOSEONRESIZE (ÀÌ ¿É¼Ç¿¡ ´ë ÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº OLE SDK ¼³¸í¼­¸¦ ÂüÁ¶ ÇϽʽÿÀ)¡£

COleServerItem::OnSetExtent

ÀÌ ÇÔ¼ö´Â ÄÁÅ×ÀÌ³Ê "´õ ¸¹°Å³ª ÀûÀº" °³Ã¼ÀÇ Ç¥½Ã ¶§ È£Ã⠵˴ϴÙ. ´ëºÎºÐÀÇ ÄÁÅ×À̳ʰ¡ ÀüÇô È£Ãâ ÇÏÁö ¾Ê½À´Ï´Ù. 'M_sizeExtent', À§¿¡¼­ ¼³¸íÇÑ ÄÁÅ×ÀÌ³Ê ¹üÀ§ °ªÀ» °è»ê ÇÏ´Â °æ¿ì COleServerDoc::GetZoomFactor ¿¡¼­ »ç¿ë µÇ´Â ÄÁÅ×À̳ʿ¡¼­ ¹ÞÀº ¸¶Áö¸· °ªÀ» ÀúÀå ÇÏ´Â ±âº» ±¸Çö¡£

COleServerDoc::OnSetItemRects

ÀÌ ÇÔ¼ö´Â ¹®¼­°¡ ÇöÀç À§Ä¡¿¡¼­ Ȱ¼ºÈ­ ÇÏ´Â °æ¿ì¿¡ È£Ã⠵˴ϴÙ. Ç׸ñÀÇ À§Ä¡ ¶Ç´Â Ç׸ñ¿¡ Àû¿ë µÈ Ŭ¸®ÇÎ ÄÁÅ×ÀÌ³Ê ¾÷µ¥ÀÌÆ® µÉ ¶§ È£Ã⠵˴ϴÙ. À§Ä¡ »ç°¢Çü À§¿¡¼­ ¼³¸íÇÑ ´ë·Î È®´ë/Ãà¼Ò ºñÀ² °è»ê¿¡ ´ë ÇÑ ºÐÀÚ¸¦ Á¦°ø ÇÕ´Ï´Ù. ¼­¹ö´Â COleServerDoc::RequestPositionChange¸¦ È£Ãâ ÇÏ ¿© Ç׸ñ À§Ä¡¸¦ º¯°æ ÇÏ´Â °ÍÀ» ¿äûÇÒ ¼ö ÀÖ½À´Ï´Ù. ÄÁÅ×ÀÌ³Ê ¼ö ÀÖ½À´Ï´Ù. ¶Ç´Â OnSetItemRects ( COleServerItem::SetItemRects¿¡ ´ë ÇÑ È£Ãâ)À» È£Ãâ ÇÏ ¿©ÀÌ ¿äû¿¡ ÀÀ´ä ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.

COleServerDoc::OnDraw

±×°ÍÀº COleServerItem::OnDraw ¸¦ ÀçÁ¤ÀÇ ÇÏ ¿© ¸¸µç ¸ÞŸ ÆÄÀÏ ÇöÀç È®´ë/Ãà¼Ò ºñÀ²¿¡ °ü°è ¾øÀÌ µ¿ÀÏÇÑ µÈ metafile Á¤È® ÇÏ °Ô »ý»êÀ» ½ÇÇö ÇÏ´Â °ÍÀÌ Áß¿ä ÇÕ´Ï´Ù. ÄÁÅ×À̳ʴ ÀûÀý ÇÑ ¸ÞŸ ÆÄÀÏÀ» Á¶Á¤ µË´Ï´Ù. À̰ÍÀº º¸±âÀÇ OnDraw °ú ¼­¹ö Ç׸ñÀÇ OnDraw°£ÀÇ Áß¿ä ÇÑ Â÷ÀÌ ÀÌ´Ù. È®´ë º¸±â ÇÚµé Ç׸ñ ±×³É ¸¸µì´Ï´Ù´Â zoomable ¸ÞŸ ÆÄÀÏ ÀûÀý ÇÑ È®´ë ÇÒ ÄÁÅ×À̳ʿ¡ ³ª¹µÀÙ¡£

¼­¹ö°¡ Á¦´ë·Î ÀÛµ¿À» º¸Àå ÇÏ´Â °¡Àå ÁÁÀº ¹æ¹ýÀº ±ÍÇÏÀÇ ¹®¼­°¡ ÇöÀç À§Ä¡¿¡¼­ Ȱ¼ºÈ­ ÇÏ´Â °æ¿ì COleServerDoc::GetZoomFactor ÀÇ ±¸ÇöÀ» »ç¿ë Çϴ¡£

Á¦ÀÚ¸®¿¡¼­ Å©±â Á¶Á¤¿¡ ´ë ÇÑ MFC Áö¿ø

MFC OLE 2 »ç¾ç¿¡ ¼³¸í µÈ ´ë·Î ¿ÏÀüÈ÷ Á¦ÀÚ¸®¿¡ Å©±â Á¶Á¤ ÀÎÅÍÆäÀ̽º¸¦ ±¸Çö ÇÕ´Ï´Ù. »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º´Â COleResizeBar Ŭ·¡½º, »ç¿ëÀÚ ÁöÁ¤ ¸Þ½ÃÁö WM_SIZECHILD, ¹× COleIPFrameWnd ¿¡¼­ÀÌ ¸Þ½ÃÁöÀÇ Æ¯¼ö ÇÏ °Ô ó¸® ÇÏ ¿© Áö¿ø¡£

´Ù¸¥ ÇÁ·¹ÀÓ ¿öÅ©¿¡¼­ Á¦°ø ÇÏ´Â ¹«¾ù º¸´ÙÀÌ ¸Þ½ÃÁö 󸮸¦ ±¸Çö ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. À§¿¡¼­ ¼³¸íÇÑ ´ë·Î ÇÁ·¹ÀÓ ¿öÅ© ³ª¹µÀÙ Àå¼Ò¿¡ ÄÁÅ×À̳ʸ¦ Á¶Á¤ÀÇ °á°ú ? ¼­¹ö È®´ë/Ãà¼Ò ºñÀ²¿¡ ÀÖ´Â º¯È­¿¡ ¹ÝÀÀ ÇÕ´Ï´Ù. µÎ ÄÁÅ×ÀÌ³Ê ¹üÀ§¸¦ ¼³Á¤ ÇÏ ¿© ¹ÝÀÀ ÇÏ´Â ÄÁÅ×À̳ÊÀÇ COleClientItem::OnChangeItemPosition ( COleServerDoc::RequestPositionChange¿¡ ´ë ÇÑ È£ÃâÀÇ °á°ú·Î ¶ó°íµµ ÇÔ) ´ÙÀ½ Àå¼Ò¿¡¼­ ó¸® ÇÏ´Â µ¿¾È À§Ä¡ »ç°¢Çü Å©±â¸¦ Á¶Á¤ ÇÏ´Â °æ¿ì "´õ ¸¹°Å³ª ÀûÀº" Ç׸ñÀÇ ÆíÁý â¿¡ Ç¥½Ã µË´Ï´Ù. ÄÁÅ×ÀÌ³Ê ±×³É COleClientItem::OnChangeItemPosition¸¦ ó¸® ÇÏ´Â µ¿¾È À§Ä¡ »ç°¢ÇüÀ» ¼³Á¤ ÇÏ ¿© ¹ÝÀÀ ÇÏ´Â °æ¿ì È®´ë/Ãà¼Ò ºñÀ²À» º¯°æ ÇÏ °í "È®´ë ¶Ç´Â Ãà¼Ò ÇÕ´Ï´Ù." Ç׸ñÀ» Ç¥½Ã µË´Ï´Ù.

¼­¹ö´ÂÀÌ Çù»ó Áß¿¡ ÀϾ (¾î´À Á¤µµ)¸¦ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ºÇÁ·¹µå½ÃÆ® ¿¹ ¼¿À» Ç¥½Ã ÇÏ·Á¸é ´õ ¸¹°Å³ª ÀûÀº »ç¿ëÀÚ Ç׸ñÀ» ÆíÁý ÇÏ´Â µ¿¾È âÀÇ Å©±â¸¦ Á¶Á¤ ÇÏ´Â °æ¿ì Á¦ÀÚ¸®¿¡¼­ ¼±ÅÃÇÒ ¼öµµ ÀÖ½À´Ï´Ù. Word-processor ±×·¡¼­ ±×µéÀº â µ¿ÀÏ °í »õ ¿©¹é ÅØ½ºÆ®¸¦ ¹Ù²Ü "ÆäÀÌÁö ¿©¹é"À» º¯°æÇÒ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼­¹ö ÀÚ¿¬ Á¤µµ ( COleServerItem::OnGetExtent¿¡¼­ ¹Ýȯ µÈ Å©±â)¸¦ º¯°æ ÇÏ ¿©ÀÌ ±¸Çö Å©±â¸¦ Á¶Á¤ ÇÒ ¶§. ÀÌ À§Ä¡ »ç°¢Çü ¹× ÄÁÅ×ÀÌ³Ê ¹üÀ§ ¸ðµÎ µ¿ÀÏÇÑ ±Ý¾× °á°ú µ¿ÀÏÇÑ È®´ë/Ãà¼Ò ºñÀ², ÇÏÁö¸¸ ´õ Å« ¶Ç´Â ÀÛÀº º¸±â ¿µ¿ªÀ¸·Î º¯°æ ÇÏ¸é µË´Ï´Ù. ¶ÇÇÑ, ´õ ¸¹°Å³ª ÀûÀº ¹®¼­ OnDraw¿¡¼­ »ý¼º µÈ ¸ÞŸ ÆÄÀÏ¿¡ Ç¥½Ã µÉ °ÍÀÔ´Ï´Ù. »ç¿ëÀÚ Ç׸ñ ±×³É º¸±â ¿µ¿ª Å©±â¸¦ Á¶Á¤ ÇÏ´Â °æ¿ì ¹®¼­ ÀÚü´Â º¯È­ ÇÏ´Â °æ¿ì¡£

»ç¿ëÀÚ ÁöÁ¤ Å©±â¸¦ ±¸Çö ÇÏ °í ¿©ÀüÈ÷ COleIPFrameWnd Ŭ·¡½º¿¡ WM_SIZECHILD ¸Þ½ÃÁö¸¦ ÀçÁ¤ÀÇ ÇÏ ¿© COleResizeBar ¿¡¼­ Á¦°ø ÇÏ´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ Ȱ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. WM_SIZECHILDÀÇ ¼¼ºÎ »çÇ׿¡ ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ À¥ »çÀÌÆ®¸¦ ÂüÁ¶ ÇϽʽÿÀ. ±â¼ú ³ëÆ® 24¡£

±â¼ú ³ëÆ® ¹øÈ£·Î |nbsp; Ä«Å×°í¸®º° ±â¼ú ³ëÆ®(&N)

Index