home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / C++-7 / DISK11 / MFC / SAMPLES / MINSVR / MAINWND.CP$ / mainwnd
Encoding:
Text File  |  1992-03-16  |  2.2 KB  |  86 lines

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