--- /dev/null
+//////////////////////////////////////////////\r
+// MDIChildText.cpp\r
+// Definitions for the CMDIChildText class\r
+\r
+#include "stdafx.h"\r
+#include "MDIChildText.h"\r
+#include "resource.h"\r
+\r
+\r
+CViewText::CViewText()\r
+{\r
+ m_hRichEdit = ::LoadLibrary(_T("RICHED32.DLL"));\r
+ if (!m_hRichEdit)\r
+ {\r
+ ::MessageBox(NULL,_T("CRichView::CRichView Failed to load RICHED32.DLL"), _T(""), MB_ICONWARNING);\r
+ }\r
+}\r
+\r
+CViewText::~CViewText()\r
+{\r
+ // Cleanup\r
+ if (m_hRichEdit) ::FreeLibrary(m_hRichEdit);\r
+}\r
+\r
+void CViewText::OnCreate()\r
+{\r
+ //Set font\r
+ if (!m_Font)\r
+ {\r
+ m_Font.CreateFont(16, 0, 0, 0, FW_DONTCARE, 0, 0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS,\r
+ CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_MODERN, _T("Courier New"));\r
+ }\r
+ \r
+ SendMessage(WM_SETFONT, (WPARAM)m_Font.GetHandle(), 0L);\r
+}\r
+\r
+void CViewText::PreCreate(CREATESTRUCT &cs)\r
+{\r
+ cs.lpszClass = _T("RichEdit");\r
+ cs.style = ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_MULTILINE | WS_CHILD | \r
+ WS_CLIPCHILDREN | WS_HSCROLL | WS_VISIBLE | WS_VSCROLL;\r
+}\r
+\r
+\r
+CMDIChildText::CMDIChildText()\r
+{\r
+ HINSTANCE hResource = GetApp()->GetResourceHandle();\r
+ HMENU hChildMenu = LoadMenu(hResource, _T("MdiMenuText"));\r
+ SetHandles(hChildMenu, NULL);\r
+ SetView(m_TextView);\r
+}\r
+\r
+CMDIChildText::~CMDIChildText()\r
+{ \r
+}\r
+\r
+BOOL CMDIChildText::OnCommand(WPARAM wParam, LPARAM lParam)\r
+{\r
+ UNREFERENCED_PARAMETER(lParam);\r
+\r
+ switch (LOWORD(wParam))\r
+ {\r
+ case IDM_EDIT_COPY:\r
+ GetView()->SendMessage(WM_COPY, 0, 0);\r
+ return TRUE;\r
+ case IDM_EDIT_PASTE:\r
+ GetView()->SendMessage(WM_PASTE, 0, 0);\r
+ return TRUE;\r
+ }\r
+\r
+ return FALSE;\r
+}\r
+\r
+\r
+void CMDIChildText::OnCreate()\r
+{\r
+ m_TextView.Create(this);\r
+}\r
+\r
+void CMDIChildText::OnInitialUpdate()\r
+{\r
+ SetWindowText(_T("Text Window"));\r
+ SetIconLarge(IDI_TEXT);\r
+ SetIconSmall(IDI_TEXT);\r
+}\r
+\r
+LRESULT CMDIChildText::WndProc(UINT uMsg, WPARAM wParam, LPARAM lParam)\r
+{\r
+ switch (uMsg)\r
+ {\r
+ case WM_SETFOCUS:\r
+ m_TextView.SetFocus();\r
+ break;\r
+ }\r
+\r
+ // Do default processing for other messages\r
+ return WndProcDefault(uMsg, wParam, lParam);\r
+}\r