// [!output VIEW_HEADER] : [!output VIEW_CLASS] 클래스의 인터페이스 // #pragma once [!if CONTAINER || CONTAINER_SERVER] class [!output CONTAINER_ITEM_CLASS]; [!endif] [!if OLEDB_RECORD_VIEW || ODBC_RECORD_VIEW] class [!output ROWSET_CLASS]; [!endif] class [!output VIEW_CLASS] : public [!output VIEW_BASE_CLASS] { protected: // serialization에서만 만들어집니다. [!output VIEW_CLASS](); DECLARE_DYNCREATE([!output VIEW_CLASS]) [!if OLEDB_RECORD_VIEW || FORM_VIEW || ODBC_RECORD_VIEW] public: enum{ IDD = IDD_[!output UPPER_CASE_SAFE_PROJECT_IDENTIFIER_NAME]_FORM }; [!if OLEDB_RECORD_VIEW || ODBC_RECORD_VIEW] [!output ROWSET_CLASS]* m_pSet; [!endif] [!endif] // 특성입니다. public: [!output DOC_CLASS]* GetDocument() const; [!if CONTAINER || CONTAINER_SERVER] [!if !RICH_EDIT_VIEW] // m_pSelection은 현재 [!output CONTAINER_ITEM_CLASS]에 대한 선택을 가지고 있습니다. // 많은 응용 프로그램의 경우, 멤버 변수가 [!output CONTAINER_ITEM_CLASS] // 개체가 아닌 개체의 단일 또는 다중 선택 등의 선택을 나타내기에 // 부적합합니다. 이 선택 메커니즘은 단지 시작하는 데 도움을 // 주기 위해 제공됩니다. // TODO: 이 선택 메커니즘을 응용 프로그램에 적합한 메커니즘으로 바꾸십시오. [!output CONTAINER_ITEM_CLASS]* m_pSelection; [!endif] [!endif] // 작업입니다. public: // 재정의입니다. public: [!if OLEDB_RECORD_VIEW] virtual CRowset<>* OnGetRowset(); [!endif] [!if ODBC_RECORD_VIEW] virtual CRecordset* OnGetRecordset(); [!endif] [!if !TREE_VIEW && !LIST_VIEW && !HTML_VIEW && !HTML_EDITVIEW && !RICH_EDIT_VIEW && !EDIT_VIEW && !FORM_VIEW && !OLEDB_RECORD_VIEW && !ODBC_RECORD_VIEW] virtual void OnDraw(CDC* pDC); // 이 뷰를 그리기 위해 재정의되었습니다. [!endif] [!if PRINTING] [!if TREE_VIEW || LIST_VIEW] virtual void OnDraw(CDC* pDC); // 이 뷰를 그리기 위해 재정의되었습니다. [!endif] [!endif] virtual BOOL PreCreateWindow(CREATESTRUCT& cs); protected: [!if FORM_VIEW || OLEDB_RECORD_VIEW || ODBC_RECORD_VIEW] virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다. [!endif] [!if SCROLL_VIEW || CONTAINER || CONTAINER_SERVER || OLEDB_RECORD_VIEW || TREE_VIEW || LIST_VIEW || FORM_VIEW || HTML_VIEW || ODBC_RECORD_VIEW] virtual void OnInitialUpdate(); // 생성 후 처음 호출되었습니다. [!endif] [!if PRINTING] [!if !HTML_VIEW && !HTML_EDITVIEW] virtual BOOL OnPreparePrinting(CPrintInfo* pInfo); [!endif] [!if !RICH_EDIT_VIEW && !HTML_VIEW && !HTML_EDITVIEW] virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo); virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo); [!endif] [!if FORM_VIEW || ACTIVE_DOC_CONTAINER] virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo); [!endif] [!endif] [!if CONTAINER || CONTAINER_SERVER] [!if !RICH_EDIT_VIEW] virtual BOOL IsSelected(const CObject* pDocItem) const;// 컨테이너 지원입니다. [!endif] [!endif] // 구현입니다. public: virtual ~[!output VIEW_CLASS](); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: // 생성된 메시지 맵 함수 protected: [!if CONTAINER || CONTAINER_SERVER] afx_msg void OnDestroy(); [!if !RICH_EDIT_VIEW] afx_msg void OnSetFocus(CWnd* pOldWnd); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnInsertObject(); afx_msg void OnCancelEditCntr(); afx_msg void OnFilePrint(); [!endif] [!endif] [!if MINI_SERVER || FULL_SERVER || CONTAINER_SERVER] afx_msg void OnCancelEditSrvr(); [!endif] [!if PROJECT_STYLE_EXPLORER] [!if LIST_VIEW] afx_msg void OnStyleChanged(int nStyleType, LPSTYLESTRUCT lpStyleStruct); [!endif] [!endif] [!if ACTIVE_DOC_CONTAINER] afx_msg void OnFilePrintPreview(); [!if !RICH_EDIT_VIEW] afx_msg void OnFilePrintPreviewUIUpdate(CCmdUI* pCmdUI); [!endif] [!endif] [!if HTML_EDITVIEW] DECLARE_DHTMLEDITING_CMDMAP([!output VIEW_CLASS]) [!endif] DECLARE_MESSAGE_MAP() }; #ifndef _DEBUG // [!output VIEW_IMPL]의 디버그 버전 inline [!output DOC_CLASS]* [!output VIEW_CLASS]::GetDocument() const { return reinterpret_cast<[!output DOC_CLASS]*>(m_pDocument); } #endif