|
|
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.