// [!output SERVER_ITEM_IMPL] : [!output SERVER_ITEM_CLASS] Ŭ·¡½ºÀÇ ±¸Çö // #include "stdafx.h" #include "[!output APP_HEADER]" #include "[!output DOC_HEADER]" #include "[!output SERVER_ITEM_HEADER]" [!if CONTAINER_SERVER] #include "[!output CONTAINER_ITEM_HEADER]" [!endif] #ifdef _DEBUG #define new DEBUG_NEW #endif // [!output SERVER_ITEM_CLASS] ±¸Çö IMPLEMENT_DYNAMIC([!output SERVER_ITEM_CLASS], [!output SERVER_ITEM_BASE_CLASS]) [!output SERVER_ITEM_CLASS]::[!output SERVER_ITEM_CLASS]([!output DOC_CLASS]* pContainerDoc) : [!output SERVER_ITEM_BASE_CLASS](pContainerDoc, TRUE) { // TODO: ¿©±â¿¡ ÀÏȸ¼º »ý¼º Äڵ带 Ãß°¡ÇÕ´Ï´Ù. // (¿¹: Ç׸ñÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãß°¡ Ŭ¸³º¸µå Çü½Ä Ãß°¡) } [!output SERVER_ITEM_CLASS]::~[!output SERVER_ITEM_CLASS]() { // TODO: ¿©±â¿¡ Á¤¸® Äڵ带 Ãß°¡ÇÕ´Ï´Ù. } #ifndef _WIN32_WCE_NO_ARCHIVE_SUPPORT void [!output SERVER_ITEM_CLASS]::Serialize(CArchive& ar) { // Ç׸ñÀÌ Å¬¸³º¸µå¿¡ º¹»çµÇ¸é ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ [!output SERVER_ITEM_CLASS]::Serialize¸¦ // È£ÃâÇÕ´Ï´Ù. ÀÌ·¯ÇÑ È£ÃâÀº // OLE Äݹé OnGetClipboardData¸¦ ÅëÇØ ÀÚµ¿À¸·Î ¹ß»ý½Ãų ¼ö ÀÖ½À´Ï´Ù. // Æ÷ÇÔ Ç׸ñÀÇ °æ¿ì ±âº»ÀûÀ¸·Î ÇØ´ç ¹®¼­ÀÇ Serialize ÇÔ¼ö¿¡ À§ÀÓÇÏ´Â °ÍÀÌ // ÁÁ½À´Ï´Ù. ¿¬°áÀ» Áö¿øÇÒ °æ¿ì¿¡´Â ¹®¼­ÀÇ ÀϺθ¸ // serializationÇÒ ¼ö ÀÖ½À´Ï´Ù. if (!IsLinkedItem()) { [!output DOC_CLASS]* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (pDoc) pDoc->Serialize(ar); } } #endif BOOL [!output SERVER_ITEM_CLASS]::OnGetExtent(DVASPECT dwDrawAspect, CSize& rSize) { // ÀÌ ÀÀ¿ë ÇÁ·Î±×·¥°ú °°Àº ´ëºÎºÐÀÇ ÀÀ¿ë ÇÁ·Î±×·¥Àº Ç׸ñÀÇ // ³»¿ë ¸ð¾ç ±×¸®±â¸¸ ó¸®ÇÕ´Ï´Ù. // OnDrawEx¸¦ ÀçÁ¤ÀÇÇÏ¿© DVASPECT_THUMBNAIL°ú °°Àº ´Ù¸¥ ¸ð¾çÀ» Áö¿øÇÏ·Á¸é // ÀÌ OnGetExtentÀÇ ±¸ÇöÀ» ¼öÁ¤ÇÏ¿© Ãß°¡ ¸ð¾çÀ» ó¸®Çϵµ·Ï // ÇØ¾ß ÇÕ´Ï´Ù. if (dwDrawAspect != DVASPECT_CONTENT) return [!output SERVER_ITEM_BASE_CLASS]::OnGetExtent(dwDrawAspect, rSize); // [!output SERVER_ITEM_CLASS]::OnGetExtent¸¦ È£ÃâÇÕ´Ï´Ù. // Àüü Ç׸ñÀÇ ¹üÀ§¸¦ HIMETRIC ´ÜÀ§·Î °¡Á®¿À±â À§Çؼ­ÀÔ´Ï´Ù. ¿©±â¿¡¼­ÀÇ ±âº» ±¸ÇöÀº ´Ü¼øÈ÷ // Çϵå ÄÚµåµÈ ´ÜÀ§ ¼ö¸¦ ¹ÝȯÇÏ´Â °ÍÀÔ´Ï´Ù. // TODO: ÀÌ ÀÓÀÇÀÇ Å©±â¸¦ ¹Ù²ß´Ï´Ù. rSize = CSize(3000, 3000); // 3000 x 3000 HIMETRIC ´ÜÀ§ return TRUE; } BOOL [!output SERVER_ITEM_CLASS]::OnDraw(CDC* pDC, CSize& rSize) { if (!pDC) return FALSE; // rSize¸¦ »ç¿ëÇÒ °æ¿ì ÀÌ ÁÙÀ» Á¦°ÅÇϽʽÿÀ. UNREFERENCED_PARAMETER(rSize); // TODO: ¸ÅÇÎ ¸ðµå¿Í ¹üÀ§¸¦ ¼³Á¤ÇÕ´Ï´Ù. // ¹üÀ§´Â º¸Åë OnGetExtent¿¡¼­ ¹ÝȯµÈ Å©±â¿Í °°½À´Ï´Ù. pDC->SetMapMode(MM_ANISOTROPIC); pDC->SetWindowOrg(0,0); pDC->SetWindowExt(3000, 3000); // TODO: ¿©±â¿¡ ±×¸®±â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. ¿É¼ÇÀ¸·Î HIMETRIC ¹üÀ§¸¦ ä¿ï ¼öµµ ÀÖ½À´Ï´Ù. // ¸ðµç ±×¸®±â ÀÛ¾÷Àº ¸ÞŸ ÆÄÀÏ µð¹ÙÀ̽º ÄÁÅØ½ºÆ®(pDC)¿¡¼­ ¹ß»ýÇÕ´Ï´Ù. [!if CONTAINER_SERVER] // TODO: Æ÷ÇÔµÈ [!output CONTAINER_ITEM_CLASS] °³Ã¼µµ ±×¸³´Ï´Ù. [!endif] [!if CONTAINER_SERVER] // ´ÙÀ½ ÄÚµå´Â ù° Ç׸ñÀ» ÀÓÀÇÀÇ À§Ä¡¿¡ ±×¸³´Ï´Ù. // TODO: ½ÇÁ¦ ±×¸®±â Äڵ尡 ¿Ï·áµÇ¸é ÀÌ Äڵ带 Á¦°ÅÇÕ´Ï´Ù. [!output DOC_CLASS]* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return FALSE; POSITION pos = pDoc->GetStartPosition(); [!output CONTAINER_ITEM_CLASS]* pItem = DYNAMIC_DOWNCAST([!output CONTAINER_ITEM_CLASS], pDoc->GetNextClientItem(pos)); if (pItem != NULL) pItem->Draw(pDC, CRect(10, 10, 1010, 1010)); [!endif] return TRUE; } // [!output SERVER_ITEM_CLASS] Áø´Ü #ifdef _DEBUG void [!output SERVER_ITEM_CLASS]::AssertValid() const { [!output SERVER_ITEM_BASE_CLASS]::AssertValid(); } #endif