|
|
1.1 ! root 1: // This is a part of the Microsoft Foundation Classes C++ library. ! 2: // Copyright (C) 1992 Microsoft Corporation ! 3: // All rights reserved. ! 4: // ! 5: // This source code is only intended as a supplement to the ! 6: // Microsoft Foundation Classes Reference and Microsoft ! 7: // QuickHelp documentation provided with the library. ! 8: // See these sources for detailed information regarding the ! 9: // Microsoft Foundation Classes product. ! 10: ! 11: #include "minsvr.h" ! 12: ! 13: ///////////////////////////////////////////////////////////////////////////// ! 14: ! 15: BEGIN_MESSAGE_MAP(CMainWnd, CFrameWnd) ! 16: // windows messages ! 17: ON_WM_CLOSE() ! 18: // menu commands ! 19: ON_COMMAND(IDM_UPDATE, OnUpdateClient) ! 20: ON_COMMAND(IDM_EXIT, OnClose) // exit calls close ! 21: ON_COMMAND(IDM_CHANGESTRING, OnChangeString) ! 22: ON_COMMAND(IDM_ABOUT, OnAbout) ! 23: END_MESSAGE_MAP() ! 24: ! 25: ///////////////////////////////////////////////////////////////////////////// ! 26: // Basic creation etc ! 27: ! 28: #pragma warning(disable:4355) // this used in constructor ! 29: ! 30: CMainWnd::CMainWnd() : m_server(this) ! 31: { ! 32: CRect rect(0, 200, 200, 400); ! 33: ! 34: Create(NULL, SERVER_LOCAL_NAME, ! 35: WS_OVERLAPPEDWINDOW, rect, NULL, "MainMenu"); ! 36: } ! 37: ! 38: ///////////////////////////////////////////////////////////////////////////// ! 39: ! 40: void CMainWnd::OnClose() ! 41: { ! 42: // to shut-down, just revoke the server, OLE will terminate the app ! 43: m_server.BeginRevoke(); ! 44: } ! 45: ! 46: ///////////////////////////////////////////////////////////////////////////// ! 47: // Edit menu commands ! 48: ! 49: void CMainWnd::OnChangeString() ! 50: { ! 51: if (m_server.m_doc.m_item.PromptChangeString()) ! 52: { ! 53: // example of immediately updating client doc if open ! 54: // for more complicated data you shouldn't update until ! 55: // the user selects the update menu ! 56: if (m_server.m_doc.IsOpen()) ! 57: OnUpdateClient(); ! 58: } ! 59: } ! 60: ! 61: // Help menu commands ! 62: void CMainWnd::OnAbout() ! 63: { ! 64: CModalDialog dlg("AboutBox"); ! 65: dlg.DoModal(); ! 66: } ! 67: ! 68: ! 69: ///////////////////////////////////////////////////////////////////////////// ! 70: // Update Client ! 71: ! 72: void CMainWnd::OnUpdateClient() ! 73: { ! 74: TRY ! 75: { ! 76: m_server.m_doc.NotifySaved(); ! 77: } ! 78: CATCH (CException, e) ! 79: { ! 80: MessageBox("Could not update client"); ! 81: } ! 82: END_CATCH ! 83: } ! 84: ! 85: /////////////////////////////////////////////////////////////////////////////
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.