// [!output VIEW_IMPL] : [!output VIEW_CLASS] Ŭ·¡½ºÀÇ ±¸Çö // #include "stdafx.h" #include "[!output APP_HEADER]" [!if OLEDB_RECORD_VIEW || ODBC_RECORD_VIEW] #include "[!output ROWSET_HEADER]" [!endif] #include "[!output DOC_HEADER]" [!if CONTAINER || CONTAINER_SERVER] #include "[!output CONTAINER_ITEM_HEADER]" [!endif] #include "[!output VIEW_HEADER]" #ifdef _DEBUG #define new DEBUG_NEW #endif // [!output VIEW_CLASS] IMPLEMENT_DYNCREATE([!output VIEW_CLASS], [!output VIEW_BASE_CLASS]) BEGIN_MESSAGE_MAP([!output VIEW_CLASS], [!output VIEW_BASE_CLASS]) [!if PROJECT_STYLE_EXPLORER] [!if LIST_VIEW] ON_WM_STYLECHANGED() [!endif] [!endif] [!if CONTAINER || CONTAINER_SERVER] ON_WM_DESTROY() [!if !RICH_EDIT_VIEW] ON_WM_SETFOCUS() ON_WM_SIZE() ON_COMMAND(ID_OLE_INSERT_NEW, &[!output VIEW_CLASS]::OnInsertObject) ON_COMMAND(ID_CANCEL_EDIT_CNTR, &[!output VIEW_CLASS]::OnCancelEditCntr) ON_COMMAND(ID_FILE_PRINT, &[!output VIEW_CLASS]::OnFilePrint) [!else] [!if PRINTING] // Ç¥ÁØ Àμ⠸í·ÉÀÔ´Ï´Ù. ON_COMMAND(ID_FILE_PRINT, &[!output VIEW_BASE_CLASS]::OnFilePrint) [!endif] [!endif] [!else] [!if PRINTING] // Ç¥ÁØ Àμ⠸í·ÉÀÔ´Ï´Ù. ON_COMMAND(ID_FILE_PRINT, &[!output VIEW_BASE_CLASS]::OnFilePrint) [!endif] [!endif] [!if MINI_SERVER || FULL_SERVER || CONTAINER_SERVER] ON_COMMAND(ID_CANCEL_EDIT_SRVR, &[!output VIEW_CLASS]::OnCancelEditSrvr) [!endif] [!if PRINTING] [!if !HTML_VIEW && !HTML_EDITVIEW && !ACTIVE_DOC_CONTAINER] ON_COMMAND(ID_FILE_PRINT_DIRECT, &[!output VIEW_BASE_CLASS]::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, &[!output VIEW_BASE_CLASS]::OnFilePrintPreview) [!endif] [!if ACTIVE_DOC_CONTAINER] ON_COMMAND(ID_FILE_PRINT_DIRECT, &[!output VIEW_BASE_CLASS]::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, &[!output VIEW_CLASS]::OnFilePrintPreview) [!if !RICH_EDIT_VIEW] ON_UPDATE_COMMAND_UI(ID_FILE_PRINT_PREVIEW, &OnFilePrintPreviewUIUpdate) [!endif] [!endif] [!endif] END_MESSAGE_MAP() [!if HTML_EDITVIEW] BEGIN_DHTMLEDITING_CMDMAP([!output VIEW_CLASS]) DHTMLEDITING_CMD_ENTRY(ID_EDIT_COPY, IDM_COPY) DHTMLEDITING_CMD_ENTRY(ID_EDIT_CUT, IDM_CUT) DHTMLEDITING_CMD_ENTRY(ID_EDIT_PASTE, IDM_PASTE) DHTMLEDITING_CMD_ENTRY(ID_EDIT_UNDO, IDM_UNDO) END_DHTMLEDITING_CMDMAP() [!endif] // [!output VIEW_CLASS] »ý¼º/¼Ò¸ê [!output VIEW_CLASS]::[!output VIEW_CLASS]() [!if FORM_VIEW || OLEDB_RECORD_VIEW || ODBC_RECORD_VIEW] : [!output VIEW_BASE_CLASS]([!output VIEW_CLASS]::IDD) [!endif] { [!if ACCESSIBILITY] EnableActiveAccessibility(); [!endif] [!if FORM_VIEW || OLEDB_RECORD_VIEW || ODBC_RECORD_VIEW] [!if OLEDB_RECORD_VIEW || ODBC_RECORD_VIEW] m_pSet = NULL; [!endif] [!endif] [!if CONTAINER || CONTAINER_SERVER] [!if !RICH_EDIT_VIEW] m_pSelection = NULL; [!endif] [!endif] // TODO: ¿©±â¿¡ »ý¼º Äڵ带 Ãß°¡ÇÕ´Ï´Ù. } [!output VIEW_CLASS]::~[!output VIEW_CLASS]() { } [!if FORM_VIEW || OLEDB_RECORD_VIEW || ODBC_RECORD_VIEW] void [!output VIEW_CLASS]::DoDataExchange(CDataExchange* pDX) { [!output VIEW_BASE_CLASS]::DoDataExchange(pDX); [!if ODBC_RECORD_VIEW] // ÄÁÆ®·ÑÀ» µ¥ÀÌÅͺ£À̽º Çʵ忡 '¿¬°á'Çϱâ À§ÇØ ¿©±â¿¡ DDX_Field* ÇÔ¼ö¸¦ »ðÀÔÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹: // DDX_FieldText(pDX, IDC_MYEDITBOX, m_pSet->m_szColumn1, m_pSet); // DDX_FieldCheck(pDX, IDC_MYCHECKBOX, m_pSet->m_bColumn2, m_pSet); // ÀÚ¼¼ÇÑ ³»¿ëÀº MSDN ¹× ODBC »ùÇÃÀ» ÂüÁ¶ÇϽʽÿÀ. [!endif] [!if OLEDB_RECORD_VIEW] // SetDlgItem*/GetDlgItem* API È£Ãâ»Ó ¾Æ´Ï¶ó DDX_* ÇÔ¼ö¸¦ »ðÀÔÇÏ¿© µ¥ÀÌÅͺ£À̽º¸¦ ºä¿¡ ¿¬°áÇÒ ¼ö ÀÖ½À´Ï´Ù. // ¿¹: ::SetDlgItemText(m_hWnd, IDC_MYCONTROL, m_pSet->m_MyColumn); // ÀÚ¼¼ÇÑ ³»¿ëÀº MSDN ¹× OLEDB »ùÇÃÀ» ÂüÁ¶ÇϽʽÿÀ. [!endif] } [!endif] BOOL [!output VIEW_CLASS]::PreCreateWindow(CREATESTRUCT& cs) { // TODO: CREATESTRUCT cs¸¦ ¼öÁ¤ÇÏ¿© ¿©±â¿¡¼­ // Window Ŭ·¡½º ¶Ç´Â ½ºÅ¸ÀÏÀ» ¼öÁ¤ÇÕ´Ï´Ù. [!if EDIT_VIEW] BOOL bPreCreated = CEditView::PreCreateWindow(cs); cs.style &= ~(ES_AUTOHSCROLL|WS_HSCROLL); // ÀÚµ¿ ÁٹٲÞÀ» »ç¿ëÇÕ´Ï´Ù. return bPreCreated; [!else] return [!output VIEW_BASE_CLASS]::PreCreateWindow(cs); [!endif] } [!if !TREE_VIEW && !LIST_VIEW && !HTML_VIEW && !HTML_EDITVIEW && !RICH_EDIT_VIEW && !EDIT_VIEW && !FORM_VIEW && !OLEDB_RECORD_VIEW && !ODBC_RECORD_VIEW] // [!output VIEW_CLASS] ±×¸®±â [!if CONTAINER || CONTAINER_SERVER] [!if !ACTIVE_DOC_CONTAINER] void [!output VIEW_CLASS]::OnDraw(CDC* pDC) { if (!pDC) return; [!output DOC_CLASS]* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: ¿©±â¿¡ ¿ø½Ã µ¥ÀÌÅÍ¿¡ ´ëÇÑ ±×¸®±â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. // TODO: ¹®¼­¿¡ ¸ðµç OLE Ç׸ñµµ ±×¸³´Ï´Ù. // ÀÓÀÇÀÇ À§Ä¡¿¡ ¼±Åà ¿µ¿ªÀ» ±×¸³´Ï´Ù. ÀÌ ÄÚµå´Â ½ÇÁ¦ ±×¸®±â Äڵ尡 // ±¸ÇöµÇ¸é Á¦°ÅÇØ¾ß ÇÕ´Ï´Ù. ÀÌ À§Ä¡´Â [!output CONTAINER_ITEM_CLASS]¿¡¼­ // ¹ÝȯÇÏ´Â »ç°¢Çü¿¡ Á¤È®È÷ ´ëÀÀÇϸç // ³»ºÎ ÆíÁý È¿°ú¸¦ Á¦°øÇÕ´Ï´Ù. // TODO: ¸¶Áö¸· ±×¸®±â Äڵ尡 ¿Ï·áµÇ¸é ÀÌ Äڵ带 Á¦°ÅÇÕ´Ï´Ù. if (m_pSelection != NULL) { CSize size; CRect rect(10, 10, 210, 210); if (SUCCEEDED(m_pSelection->GetExtent(&size, m_pSelection->m_nDrawAspect))) { pDC->HIMETRICtoLP(&size); rect.right = size.cx + 10; rect.bottom = size.cy + 10; } m_pSelection->Draw(pDC, rect); } } [!else] void [!output VIEW_CLASS]::OnDraw(CDC* /*pDC*/) { [!output DOC_CLASS]* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: ¿©±â¿¡ ¿ø½Ã µ¥ÀÌÅÍ¿¡ ´ëÇÑ ±×¸®±â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. }[!endif] [!else] void [!output VIEW_CLASS]::OnDraw(CDC* /*pDC*/) { [!output DOC_CLASS]* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: ¿©±â¿¡ ¿ø½Ã µ¥ÀÌÅÍ¿¡ ´ëÇÑ ±×¸®±â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. } [!endif] [!endif] [!if PRINTING] [!if TREE_VIEW || LIST_VIEW] void [!output VIEW_CLASS]::OnDraw(CDC* /*pDC*/) { [!output DOC_CLASS]* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: ¿©±â¿¡ ¿ø½Ã µ¥ÀÌÅÍ¿¡ ´ëÇÑ ±×¸®±â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. } [!endif] [!endif] [!if SCROLL_VIEW || CONTAINER || CONTAINER_SERVER || OLEDB_RECORD_VIEW || LIST_VIEW || TREE_VIEW || FORM_VIEW || HTML_VIEW || ODBC_RECORD_VIEW] void [!output VIEW_CLASS]::OnInitialUpdate() { [!if ODBC_RECORD_VIEW] m_pSet = &GetDocument()->[!output ROWSET_CLASS_VARIABLE_NAME]; [!endif] [!if OLEDB_RECORD_VIEW] m_pSet = &GetDocument()->[!output ROWSET_CLASS_VARIABLE_NAME]; { CWaitCursor wait; HRESULT hr = m_pSet->OpenAll(); if (FAILED(hr)) { // ·¹ÄÚµå ÁýÇÕÀ» ¿­Áö ¸øÇß½À´Ï´Ù. ·¹ÄÚµå ÁýÇÕÀÌ ÀúÀå // ÇÁ·Î½ÃÀúÀÎ °æ¿ì OpenAll()À» È£ÃâÇϱâ Àü¿¡ // ÀÔ·Â ¸Å°³ º¯¼ö¸¦ Á¦´ë·Î ÃʱâÈ­Çß´ÂÁö // È®ÀÎÇϽʽÿÀ. AfxMessageBox(_T("·¹ÄÚµå ÁýÇÕÀ» ¿­Áö ¸øÇß½À´Ï´Ù."), MB_OK); // ¿­¸° RowSet ¾øÀÌ ÇöÀç ·¹ÄÚµåÀÇ º¯°æÀ» ½ÃµµÇϸé // Ãæµ¹ÇÒ ¼ö Àֱ⠶§¹®¿¡ ´ÙÀ½ ¹× ÀÌÀü ·¹ÄÚµå ¸í·ÉÀ» // ºñȰ¼ºÈ­ÇÕ´Ï´Ù. m_bOnFirstRecord = TRUE; m_bOnLastRecord = TRUE; } if( hr == DB_S_ENDOFROWSET ) { // Çà ÁýÇÕÀÌ ºñ¾î ÀÖ½À´Ï´Ù(ÇàÀÌ Æ÷ÇԵǾî ÀÖÁö ¾ÊÀ½). AfxMessageBox(_T("·¹ÄÚµå ÁýÇÕÀÌ ¿­·ÈÁö¸¸ ¹ÝȯÇÒ ÇàÀÌ ¾ø¾ú½À´Ï´Ù."), MB_OK); // ´ÙÀ½ ¹× ÀÌÀü ·¹ÄÚµå ¸í·ÉÀ» ºñȰ¼ºÈ­ÇÕ´Ï´Ù. m_bOnFirstRecord = TRUE; m_bOnLastRecord = TRUE; } } [!endif] [!output VIEW_BASE_CLASS]::OnInitialUpdate(); [!if FORM_VIEW] [!if APP_TYPE_SDI] GetParentFrame()->RecalcLayout(); [!endif] ResizeParentToFit(); [!endif] [!if LIST_VIEW] // TODO: GetListCtrl()À» È£ÃâÇÏ¿© ÇØ´ç list ÄÁÆ®·ÑÀ» Á÷Á¢ ¾×¼¼½ºÇÔÀ¸·Î½á // ListView¸¦ Ç׸ñÀ¸·Î ä¿ï ¼ö ÀÖ½À´Ï´Ù. [!if TREE_VIEW] // TODO: TreeView¸¦ Ç׸ñÀ¸·Î ä¿ì·Á¸é // GetTreeCtrl()À» È£ÃâÇÏ¿© ÇØ´ç tree ÄÁÆ®·ÑÀ» Á÷Á¢ ¾×¼¼½ºÇϽʽÿÀ. [!if HTML_VIEW] // TODO: ÀÌ ÄÚµå´Â À¥ »óÀÇ ÀαâÀÖ´Â »çÀÌÆ®¸¦ Ž»öÇÕ´Ï´Ù. // ¿øÇÏ´Â »çÀÌÆ®·Î °¡·Á¸é Äڵ带 º¯°æÇϽʽÿÀ. [!endif] [!endif] [!endif] [!if HTML_VIEW] Navigate2(_T("http://www.msdn.microsoft.com/korea/visualc/"),NULL,NULL); [!endif] [!if CONTAINER || CONTAINER_SERVER] [!if !RICH_EDIT_VIEW] // TODO: ¸¶Áö¸· ¼±Åà ¸ðµ¨ Äڵ尡 ÀÛ¼ºµÇ¸é ÀÌ Äڵ带 Á¦°ÅÇÕ´Ï´Ù. m_pSelection = NULL; // ¼±Åà ¿µ¿ªÀ» ÃʱâÈ­ÇÕ´Ï´Ù. [!endif] [!if RICH_EDIT_VIEW] // Àμ⠿©¹é(720 twips = 1/2 inch)À» ¼³Á¤ÇÕ´Ï´Ù. SetMargins(CRect(720, 720, 720, 720)); [!endif] [!endif] [!if SCROLL_VIEW] CSize sizeTotal; // TODO: ÀÌ ºäÀÇ Àüü Å©±â¸¦ °è»êÇÕ´Ï´Ù. sizeTotal.cx = sizeTotal.cy = 100; SetScrollSizes(MM_TEXT, sizeTotal); [!endif] } [!endif] [!if PRINTING] // [!output VIEW_CLASS] Àμâ [!if ACTIVE_DOC_CONTAINER] [!if !RICH_EDIT_VIEW] void [!output VIEW_CLASS]::OnFilePrintPreviewUIUpdate(CCmdUI* pCmdUI) { if (!pCmdUI) return; if (m_pSelection != NULL) { DWORD dwStatus = 0; if (SUCCEEDED(m_pSelection->QueryCommand(OLECMDID_PRINTPREVIEW, &dwStatus)) && dwStatus & OLECMDF_ENABLED) { pCmdUI->Enable(TRUE); return; } } pCmdUI->Enable(FALSE); } [!endif] void [!output VIEW_CLASS]::OnFilePrintPreview() { [!if !RICH_EDIT_VIEW] if (!m_pSelection) return; m_pSelection->ExecCommand(OLECMDID_PRINTPREVIEW); [!else] [!output VIEW_BASE_CLASS]::OnFilePrintPreview(); [!endif] } [!endif] [!if !HTML_VIEW && !HTML_EDITVIEW] BOOL [!output VIEW_CLASS]::OnPreparePrinting(CPrintInfo* pInfo) { [!if EDIT_VIEW] // ±âº»ÀûÀÎ CEditView Áغñ return CEditView::OnPreparePrinting(pInfo); [!else] [!if ACTIVE_DOC_CONTAINER] if (!CView::DoPreparePrinting(pInfo)) return FALSE; if (!COleDocObjectItem::OnPreparePrinting(this, pInfo)) return FALSE; return TRUE; [!else] // ±âº»ÀûÀÎ Áغñ return DoPreparePrinting(pInfo); [!endif] [!endif] } [!if !RICH_EDIT_VIEW] [!if EDIT_VIEW] void [!output VIEW_CLASS]::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo) [!else] void [!output VIEW_CLASS]::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) [!endif] { [!if EDIT_VIEW] // ±âº» CEditView ½ÃÀÛ Àμâ CEditView::OnBeginPrinting(pDC, pInfo); [!else] // TODO: ÀμâÇϱâ Àü¿¡ Ãß°¡ ÃʱâÈ­ ÀÛ¾÷À» Ãß°¡ÇÕ´Ï´Ù. [!endif] } [!if EDIT_VIEW] void [!output VIEW_CLASS]::OnEndPrinting(CDC* pDC, CPrintInfo* pInfo) [!else] void [!output VIEW_CLASS]::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) [!endif] { [!if EDIT_VIEW] // ±âº» CEditView Á¾·á Àμâ CEditView::OnEndPrinting(pDC, pInfo); [!else] // TODO: Àμâ ÈÄ Á¤¸® ÀÛ¾÷À» Ãß°¡ÇÕ´Ï´Ù. [!endif] } [!endif] [!endif] [!if FORM_VIEW || ACTIVE_DOC_CONTAINER] [!if ACTIVE_DOC_CONTAINER] void [!output VIEW_CLASS]::OnPrint(CDC* pDC, CPrintInfo* pInfo) [!else] void [!output VIEW_CLASS]::OnPrint(CDC* pDC, CPrintInfo* /*pInfo*/) [!endif] { // TODO: ¿©±â¿¡ »ç¿ëÀÚ ÁöÁ¤ Àμâ Äڵ带 Ãß°¡ÇÕ´Ï´Ù. [!if ACTIVE_DOC_CONTAINER] if(pInfo->m_bDocObject) COleDocObjectItem::OnPrint(this, pInfo, TRUE); else CView::OnPrint(pDC, pInfo); [!endif] } [!endif] [!endif] [!if CONTAINER || CONTAINER_SERVER] void [!output VIEW_CLASS]::OnDestroy() { // ¼Ò¸ê ÁßÀÎ Ç׸ñÀ» ºñȰ¼ºÈ­ÇÕ´Ï´Ù. // ºÐÇÒ Ã¢ÀÌ »ç¿ëµÉ °æ¿ì ÀÌ ÀÛ¾÷Àº Áß¿äÇÕ´Ï´Ù. COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this); if (pActiveItem != NULL && pActiveItem->GetActiveView() == this) { pActiveItem->Deactivate(); ASSERT(GetDocument()->GetInPlaceActiveItem(this) == NULL); } [!output VIEW_BASE_CLASS]::OnDestroy(); } [!if !RICH_EDIT_VIEW] // OLE Ŭ¶óÀÌ¾ðÆ® Áö¿ø ¹× ¸í·É BOOL [!output VIEW_CLASS]::IsSelected(const CObject* pDocItem) const { // ¾Æ·¡ ±¸ÇöÀº ¼±ÅÃÀÌ [!output CONTAINER_ITEM_CLASS] °³Ã¼·Î¸¸ // ÀÌ·ç¾îÁø °æ¿ì ÀûÇÕÇÕ´Ï´Ù. ´Ù¸¥ ¼±Åà ¸ÞÄ¿´ÏÁòÀ» // ó¸®ÇÏ·Á¸é ÀÌ ±¸ÇöÀ» ¹Ù²ã¾ß ÇÕ´Ï´Ù. // TODO: ¼±ÅÃµÈ OLE Ŭ¶óÀÌ¾ðÆ® Ç׸ñÀ» Å×½ºÆ®ÇÏ´Â ÀÌ ÇÔ¼ö¸¦ ±¸ÇöÇÕ´Ï´Ù. return pDocItem == m_pSelection; } void [!output VIEW_CLASS]::OnInsertObject() { // Ç¥ÁØ °³Ã¼ »ðÀÔ ´ëÈ­ »óÀÚ¸¦ È£ÃâÇÏ¿© »õ [!output CONTAINER_ITEM_CLASS] // °³Ã¼¿¡ ´ëÇÑ Á¤º¸¸¦ ¾ò½À´Ï´Ù. COleInsertDialog dlg; [!if ACTIVE_DOC_CONTAINER] if (dlg.DoModal(COleInsertDialog::DocObjectsOnly) != IDOK) return; [!else] if (dlg.DoModal() != IDOK) return; [!endif] BeginWaitCursor(); [!output CONTAINER_ITEM_CLASS]* pItem = NULL; TRY { // ÀÌ ¹®¼­¿¡ ¿¬°áµÈ »õ Ç׸ñÀ» ¸¸µì´Ï´Ù. [!output DOC_CLASS]* pDoc = GetDocument(); ASSERT_VALID(pDoc); pItem = new [!output CONTAINER_ITEM_CLASS](pDoc); ASSERT_VALID(pItem); // ´ëÈ­ »óÀÚ¿¡ ÀÖ´Â µ¥ÀÌÅÍ Ç׸ñÀ» ÃʱâÈ­ÇÕ´Ï´Ù. if (!dlg.CreateItem(pItem)) AfxThrowMemoryException(); // ¸ðµç ¿¹¿Ü¿¡¼­ ¼öÇàµË´Ï´Ù. ASSERT_VALID(pItem); [!if ACTIVE_DOC_CONTAINER] pItem->DoVerb(OLEIVERB_SHOW, this); [!else] if (dlg.GetSelectionType() == COleInsertDialog::createNewItem) pItem->DoVerb(OLEIVERB_SHOW, this); [!endif] ASSERT_VALID(pItem); // ÀÓÀÇÀÇ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º µðÀÚÀÎÀ¸·Î, ¼±Åà ¿µ¿ªÀ» »ðÀÔµÈ ¸¶Áö¸· Ç׸ñÀ¸·Î // ¼³Á¤ÇÕ´Ï´Ù. // TODO: ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ¸Â°Ô ¼±Åà ¿µ¿ªÀ» ´Ù½Ã ±¸ÇöÇÕ´Ï´Ù. m_pSelection = pItem; // ¼±Åà ¿µ¿ªÀ» ¸¶Áö¸·À¸·Î »ðÀÔµÈ Ç׸ñÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù. pDoc->UpdateAllViews(NULL); } CATCH(CException, e) { if (pItem != NULL) { ASSERT_VALID(pItem); pItem->Delete(); } AfxMessageBox(IDP_FAILED_TO_CREATE); } END_CATCH EndWaitCursor(); } // ´ÙÀ½ ¸í·É 󸮱â´Â Ç¥ÁØ Å°º¸µå »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ¿© // ³»ºÎ ÆíÁý ¼¼¼ÇÀ» Ãë¼ÒÇÕ´Ï´Ù. ±×·¯¸é // ÄÁÅ×À̳Ê(¼­¹ö°¡ ¾Æ´Ô)°¡ ºñȰ¼ºÈ­µË´Ï´Ù. void [!output VIEW_CLASS]::OnCancelEditCntr() { // ÀÌ ºä¿¡ ÀÖ´Â ³»ºÎ Ȱ¼º Ç׸ñÀ» ´Ý½À´Ï´Ù . COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this); if (pActiveItem != NULL) { pActiveItem->Close(); } ASSERT(GetDocument()->GetInPlaceActiveItem(this) == NULL); } // °³Ã¼¸¦ ³»ºÎ ÆíÁýÇÏ·Á°í ÇÒ °æ¿ì ÄÁÅ×À̳ʿ¡´Â OnSetFocus ¹× // OnSize¿¡ ´ëÇÑ Æ¯º°ÇÑ Ã³¸®°¡ ÇÊ¿äÇÕ´Ï´Ù. void [!output VIEW_CLASS]::OnSetFocus(CWnd* pOldWnd) { COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this); if (pActiveItem != NULL && pActiveItem->GetItemState() == COleClientItem::activeUIState) { // °°Àº ºä¿¡ ÀÖÀ» °æ¿ì ÀÌ Ç׸ñ¿¡ Æ÷Ä¿½º¸¦ ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. CWnd* pWnd = pActiveItem->GetInPlaceWindow(); if (pWnd != NULL) { pWnd->SetFocus(); // ±âº» Ŭ·¡½º¸¦ È£ÃâÇÏÁö ¾Ê½À´Ï´Ù. return; } } [!output VIEW_BASE_CLASS]::OnSetFocus(pOldWnd); } void [!output VIEW_CLASS]::OnSize(UINT nType, int cx, int cy) { [!output VIEW_BASE_CLASS]::OnSize(nType, cx, cy); COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this); if (pActiveItem != NULL) pActiveItem->SetItemRects(); } void [!output VIEW_CLASS]::OnFilePrint() { //±âº»ÀûÀ¸·Î Ȱ¼º ¹®¼­°¡ //IOleCommandTargetÀ» »ç¿ëÇÏ¿© ÀÚüÀûÀ¸·Î ÀμâµÇµµ·Ï ¿äûÇÕ´Ï´Ù. ÀÌ µ¿ÀÛÀ» ¿øÇÏÁö ¾ÊÀ» °æ¿ì //COleDocObjectItem::DoDefaultPrinting¿¡ ´ëÇÑ È£ÃâÀ» Á¦°ÅÇϽʽÿÀ. //¾î¶² ÀÌÀ¯·Î ÀÎÇØ È£ÃâÀÌ ½ÇÆÐÇϸé //IPrint ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© docobjectÀÇ Àμ⸦ ½ÃµµÇÒ ¼ö ÀÖ½À´Ï´Ù. CPrintInfo printInfo; ASSERT(printInfo.m_pPD != NULL); if (S_OK == COleDocObjectItem::DoDefaultPrinting(this, &printInfo)) return; CView::OnFilePrint(); } [!endif] [!endif] [!if MINI_SERVER || FULL_SERVER || CONTAINER_SERVER] // OLE ¼­¹ö Áö¿ø // ´ÙÀ½ ¸í·É 󸮱â´Â Ç¥ÁØ Å°º¸µå »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ¿© // ³»ºÎ ÆíÁý ¼¼¼ÇÀ» Ãë¼ÒÇÕ´Ï´Ù. ±×·¯¸é // ¼­¹ö(ÄÁÅ×À̳ʰ¡ ¾Æ´Ô)°¡ ºñȰ¼ºÈ­µË´Ï´Ù. void [!output VIEW_CLASS]::OnCancelEditSrvr() { GetDocument()->OnDeactivateUI(FALSE); } [!endif] // [!output VIEW_CLASS] Áø´Ü #ifdef _DEBUG void [!output VIEW_CLASS]::AssertValid() const { [!output VIEW_BASE_CLASS]::AssertValid(); } void [!output VIEW_CLASS]::Dump(CDumpContext& dc) const { [!output VIEW_BASE_CLASS]::Dump(dc); } [!output DOC_CLASS]* [!output VIEW_CLASS]::GetDocument() const // µð¹ö±×µÇÁö ¾ÊÀº ¹öÀüÀº ÀζóÀÎÀ¸·Î ÁöÁ¤µË´Ï´Ù. { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS([!output DOC_CLASS]))); return ([!output DOC_CLASS]*)m_pDocument; } #endif //_DEBUG [!if OLEDB_RECORD_VIEW] // [!output VIEW_CLASS] µ¥ÀÌÅͺ£À̽º Áö¿ø CRowset<>* [!output VIEW_CLASS]::OnGetRowset() { return m_pSet->GetRowsetBase(); } [!endif] [!if ODBC_RECORD_VIEW] // [!output VIEW_CLASS] µ¥ÀÌÅͺ£À̽º Áö¿ø CRecordset* [!output VIEW_CLASS]::OnGetRecordset() { return m_pSet; } [!endif] // [!output VIEW_CLASS] ¸Þ½ÃÁö 󸮱â [!if PROJECT_STYLE_EXPLORER] [!if LIST_VIEW] void [!output VIEW_CLASS]::OnStyleChanged(int nStyleType, LPSTYLESTRUCT lpStyleStruct) { //TODO: »ç¿ëÀÚ°¡ âÀÇ ºä ½ºÅ¸ÀÏÀ» º¯°æÇßÀ» ¶§ ¹ÝÀÀÇÏ´Â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. [!output VIEW_BASE_CLASS]::OnStyleChanged(nStyleType,lpStyleStruct); } [!endif] [!endif]