--- /dev/null
+///////////////////////////////////////////////////\r
+// Text.cpp - Definitions for the CViewText, \r
+// and CDockText classes\r
+\r
+#include "stdafx.h"\r
+#include "TabbedMDIApp.h"\r
+#include "Text.h"\r
+#include "resource.h"\r
+\r
+\r
+///////////////////////////////////////////////\r
+// CViewText functions\r
+CViewText::CViewText()\r
+{\r
+ m_hRichEdit = ::LoadLibrary(_T("Riched20.dll")); // RichEdit ver 2.0\r
+ if (!m_hRichEdit)\r
+ {\r
+ ::MessageBox(NULL,_T("CRichView::CRichView Failed to load Riched20.dll"), _T(""), MB_ICONWARNING);\r
+ }\r
+}\r
+\r
+CViewText::~CViewText(void)\r
+{\r
+ if (m_hRichEdit)\r
+ ::FreeLibrary(m_hRichEdit);\r
+}\r
+\r
+BOOL CViewText::OnCommand(WPARAM wParam, LPARAM lParam)\r
+{\r
+ UNREFERENCED_PARAMETER(lParam);\r
+\r
+ switch (LOWORD(wParam))\r
+ {\r
+ case IDM_EDIT_COPY:\r
+ OnEditCopy();\r
+ return TRUE;\r
+ case IDM_EDIT_PASTE:\r
+ OnEditPaste();\r
+ return TRUE;\r
+ case IDM_EDIT_CUT:\r
+ OnEditCut();\r
+ return TRUE;\r
+ case IDM_EDIT_DELETE:\r
+ OnEditDelete();\r
+ return TRUE;\r
+ case IDM_EDIT_REDO:\r
+ OnEditRedo();\r
+ return TRUE;\r
+ case IDM_EDIT_UNDO:\r
+ OnEditUndo();\r
+ return TRUE;\r
+ }\r
+\r
+ // return FALSE for unhandled commands\r
+ return FALSE;\r
+}\r
+\r
+void CViewText::OnEditCopy()\r
+{\r
+ SendMessage(WM_COPY, 0, 0);\r
+}\r
+\r
+void CViewText::OnEditPaste()\r
+{\r
+ SendMessage(EM_PASTESPECIAL, CF_TEXT, 0);\r
+}\r
+\r
+void CViewText::OnEditCut()\r
+{\r
+ SendMessage(WM_CUT, 0, 0);\r
+}\r
+\r
+void CViewText::OnEditDelete()\r
+{\r
+ SendMessage(WM_CLEAR, 0, 0);\r
+}\r
+\r
+void CViewText::OnEditRedo()\r
+{\r
+ SendMessage(EM_REDO, 0, 0);\r
+}\r
+\r
+void CViewText::OnEditUndo()\r
+{\r
+ SendMessage(EM_UNDO, 0, 0);\r
+}\r
+\r
+void CViewText::OnInitialUpdate()\r
+{\r
+ m_Font.CreateFont(16, 0, 0, 0, FW_NORMAL, 0, 0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS,\r
+ CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_MODERN, _T("Courier New"));\r
+\r
+ SendMessage(WM_SETFONT, (WPARAM)m_Font.GetHandle(), 0);\r
+ \r
+ SetWindowText(_T("Text Edit Window\r\n\r\n You can type some text here ..."));\r
+}\r
+\r
+void CViewText::PreCreate(CREATESTRUCT &cs)\r
+{\r
+ cs.style = ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_MULTILINE | WS_CHILD | \r
+ WS_CLIPCHILDREN | WS_HSCROLL | WS_VISIBLE;\r
+\r
+ cs.lpszClass = RICHEDIT_CLASS; // RichEdit ver 2.0\r
+}\r
+\r
+\r
+///////////////////////////////////////////////\r
+// CContainText functions\r
+CContainText::CContainText()\r
+{ \r
+ SetDockCaption (_T("Text View - Docking container"));\r
+ SetTabText(_T("Text"));\r
+ SetTabIcon(IDI_TEXT);\r
+ SetView(m_ViewText);\r
+} \r
+\r
+\r
+//////////////////////////////////////////////\r
+// Definitions for the CDockText class\r
+CDockText::CDockText()\r
+{\r
+ // Set the view window to our edit control\r
+ SetView(m_View);\r
+}\r
+\r
+void CDockText::OnInitialUpdate()\r
+{\r
+ // Set the width of the splitter bar\r
+ SetBarWidth(8);\r
+}\r
+\r
+\r