CLIENT.CPP
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /*
  2.  * CLIENT.CPP
  3.  * Cosmo Chapter 14
  4.  *
  5.  * Implementation of the CCosmoClient class that just makes sure
  6.  * we get a CCosmoDoc on doc creation and that we initialize fully.
  7.  *
  8.  * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  9.  *
  10.  * Kraig Brockschmidt, Microsoft
  11.  * Internet  :  kraigb@microsoft.com
  12.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  13.  */
  14. #include "cosmo.h"
  15. /*
  16.  * CCosmoClient::CCosmoClient
  17.  * CCosmoClient::~CCosmoClient
  18.  *
  19.  * Constructor Parameters:
  20.  *  hInst           HINSTANCE of the application.
  21.  *  pFR             PCFrame to the frame object.
  22.  */
  23. CCosmoClient::CCosmoClient(HINSTANCE hInst, PCFrame pFR)
  24.     : CClient(hInst, pFR)
  25.     {
  26.     m_pAutoFigures=NULL;
  27.     return;
  28.     }
  29. CCosmoClient::~CCosmoClient(void)
  30.     {
  31.     //CHAPTER14MOD
  32.     DeleteInterfaceImp(m_pAutoFigures);
  33.     //End CHAPTER14MOD
  34.     return;
  35.     }
  36. /*
  37.  * CCosmoClient::Init
  38.  *
  39.  * Purpose:
  40.  *  Performs default initialization then creates the Figures
  41.  *  collection object stored here.
  42.  *
  43.  * Return Value:
  44.  *  BOOL            TRUE if the function succeeded, FALSE otherwise.
  45.  */
  46. BOOL CCosmoClient::Init(HMENU hMenuWindow, LPRECT pRect)
  47.     {
  48.     if (!CClient::Init(hMenuWindow, pRect))
  49.         return FALSE;
  50.     //Create the 'figures' collection.
  51.     m_pAutoFigures=new CAutoFigures(this);
  52.     if (NULL==m_pAutoFigures)
  53.         return FALSE;
  54.     if (!m_pAutoFigures->Init(FALSE))
  55.         return FALSE;
  56.     return TRUE;
  57.     }
  58. /*
  59.  * CCosmoClient::CreateCDocument
  60.  *
  61.  * Purpose:
  62.  *  Constructs a new document specific to the application.
  63.  *
  64.  * Parameters:
  65.  *  None
  66.  *
  67.  * Return Value:
  68.  *  PCDocument      Pointer to the new document object.
  69.  */
  70. PCDocument CCosmoClient::CreateCDocument(void)
  71.     {
  72.     return (PCDocument)(new CCosmoDoc(m_hInst, m_pFR, m_pAdv));
  73.     }
  74. /*
  75.  * CCosmoClient::NewDocument
  76.  *
  77.  * Purpose:
  78.  *  Small override of the CClient::NewDocument that we have just
  79.  *  to check the initial line selection on new document creation.
  80.  *
  81.  * Parameters:
  82.  *  fVisible        BOOL indicating if the document is to be
  83.  *                  visible or not.
  84.  *
  85.  * Return Value:
  86.  *  PCDocument      Pointer to the new document object.
  87.  */
  88. PCDocument CCosmoClient::NewDocument(BOOL fVisible)
  89.     {
  90.     PCDocument  pDoc;
  91.     //Perform default NewDocument first
  92.     pDoc=CClient::NewDocument(fVisible);
  93.     //We know that m_pFR is actually a CCosmoFrame, so type is safe.
  94.     ((PCCosmoFrame)m_pFR)->CheckLineSelection(IDM_LINESOLID);
  95.     return pDoc;
  96.     }
  97. //CHAPTER14MOD
  98. /*
  99.  * CCosmoClient::AutoFigures
  100.  *
  101.  * Purpose:
  102.  *  Returns the 'figures' collection automation object pointer
  103.  *
  104.  * Return Value:
  105.  *  PCAutoFigures   Pointer to the figures collection object
  106.  */
  107. PCAutoFigures CCosmoClient::AutoFigures(void)
  108.     {
  109.     return m_pAutoFigures;
  110.     }
  111. //End CHAPTER14MOD