// WTLDocViewView.h : interface of the CWTLDocViewView class // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_WTLDOCVIEWVIEW_H__4349F8FC_DF71_4309_80F5_4175D44DCECE__INCLUDED_) #define AFX_WTLDOCVIEWVIEW_H__4349F8FC_DF71_4309_80F5_4175D44DCECE__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #include "editordoc.h" class CWTLDocViewView : public CWindowImpl, public CDocumentClient { public: DECLARE_WND_SUPERCLASS(NULL, CRichEditCtrl::GetWndClassName()) BEGIN_MSG_MAP(CWTLDocViewView) //MESSAGE_HANDLER(WM_PAINT, OnPaint) MESSAGE_HANDLER(WM_CLOSE, OnClose) COMMAND_ID_HANDLER(ID_FILE_NEW, OnFileNew) COMMAND_ID_HANDLER(ID_FILE_OPEN, OnFileOpen) COMMAND_ID_HANDLER(ID_FILE_SAVE, OnFileSave) COMMAND_ID_HANDLER(ID_FILE_SAVE_AS, OnFileSaveAs) COMMAND_ID_HANDLER(ID_APP_EXIT, OnFileExit) END_MSG_MAP() void OnDocumentModified() { if (IsWindow()) { int i = 9; Invalidate(); } } // // Message handlers // LRESULT OnClose(UINT, WPARAM, LPARAM, BOOL& bHandled) { return OnFileExit(0, 0, NULL, bHandled); } LRESULT OnPaint(UINT, WPARAM, LPARAM, BOOL& bHandled) { PAINTSTRUCT ps; HDC hdc = BeginPaint(&ps); RECT rect; GetClientRect(&rect); DrawText(hdc, GetDocument()->GetText(), -1, &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE); EndPaint(&ps); return 0; } LRESULT OnFileNew(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { if (IsDocumentSafe(m_hWnd, _T("WindowsApp"))) { GetDocument()->OnNew(); } return 0L; } LRESULT OnFileOpen(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { if (IsDocumentSafe(m_hWnd, _T("WindowsApp"))) { bool bFailed; if (!GetDocument()->OnOpen(bFailed) && bFailed) { MessageBox(_T("Error loading file."), _T("WindowsApp"), MB_OK | MB_ICONERROR); } } return 0L; } LRESULT OnFileSave(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { bool bFailed; if (!GetDocument()->OnSave(bFailed) && bFailed) { TCHAR szText[256]; const TCHAR* szName = GetDocument()->GetName(); wsprintf(szText, _T("Error saving %s."), szName); MessageBox(szText, _T("WindowsApp"), MB_RETRYCANCEL | MB_ICONERROR); } return 0L; } LRESULT OnFileSaveAs(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { bool bFailed; if (!GetDocument()->OnSaveAs(bFailed) && bFailed) { TCHAR szText[256]; const TCHAR* szName = GetDocument()->GetName(); wsprintf(szText, _T("Error saving %s."), szName); MessageBox(szText, _T("WindowsApp"), MB_RETRYCANCEL | MB_ICONERROR); } return 0L; } LRESULT OnFileExit(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { if (IsDocumentSafe(m_hWnd, _T("WindowsApp"))) { ::DestroyWindow(GetParent()); } return 0L; } //private: // void OnDocumentModified(); // Utilities private: CEditorDoc* GetDocument() const { return static_cast(CDocumentClient::GetDocument()); } }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_WTLDOCVIEWVIEW_H__4349F8FC_DF71_4309_80F5_4175D44DCECE__INCLUDED_)