home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / activedocument / doserver / oipaobj.cpp < prev    next >
C/C++ Source or Header  |  1997-06-05  |  6KB  |  193 lines

  1. /**************************************************************************
  2.    THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  3.    ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  4.    THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  5.    PARTICULAR PURPOSE.
  6.  
  7.    Copyright 1997 Microsoft Corporation.  All Rights Reserved.
  8. **************************************************************************/
  9.  
  10. /**************************************************************************
  11.  
  12.    File:          OIPAObj.cpp
  13.    
  14.    Description:   COleInPlaceActiveObject implementation.
  15.  
  16. **************************************************************************/
  17.  
  18. /**************************************************************************
  19.    #include statements
  20. **************************************************************************/
  21.  
  22. #include "OIPAObj.h"
  23.  
  24. /**************************************************************************
  25.  
  26.    COleInPlaceActiveObject::COleInPlaceActiveObject()
  27.    
  28. **************************************************************************/
  29.  
  30. COleInPlaceActiveObject::COleInPlaceActiveObject(COleDocument *pOleDoc)
  31. {
  32. OutputDebugString(TEXT("COleInPlaceActiveObject's constructor\n"));
  33.  
  34. m_pOleDoc = pOleDoc;
  35.  
  36. m_fEnableModeless = FALSE;
  37. }
  38.  
  39. /**************************************************************************
  40.  
  41.    COleInPlaceActiveObject::~COleInPlaceActiveObject()
  42.    
  43. **************************************************************************/
  44.  
  45. COleInPlaceActiveObject::~COleInPlaceActiveObject()
  46. {
  47. OutputDebugString(TEXT("COleInPlaceActiveObject's destructor\n"));
  48. }
  49.  
  50. /**************************************************************************
  51.  
  52.    COleInPlaceActiveObject::QueryInterface()
  53.    
  54. **************************************************************************/
  55.  
  56. STDMETHODIMP COleInPlaceActiveObject::QueryInterface(REFIID riid, LPVOID *ppReturn)
  57. {
  58. OutputDebugString(TEXT("COleInPlaceActiveObject::QueryInterface\n"));
  59.  
  60. return m_pOleDoc->QueryInterface(riid, ppReturn);
  61. }
  62.  
  63. /**************************************************************************
  64.  
  65.    COleInPlaceActiveObject::AddRef()
  66.    
  67. **************************************************************************/
  68.  
  69. STDMETHODIMP_(ULONG) COleInPlaceActiveObject::AddRef()
  70. {
  71. OutputDebugString(TEXT("COleInPlaceActiveObject::AddRef\n"));
  72.  
  73. return m_pOleDoc->AddRef();
  74. }
  75.  
  76. /**************************************************************************
  77.  
  78.    COleInPlaceActiveObject::Release()
  79.    
  80. **************************************************************************/
  81.  
  82. STDMETHODIMP_(ULONG) COleInPlaceActiveObject::Release()
  83. {
  84. OutputDebugString(TEXT("COleInPlaceActiveObject::Release\n"));
  85.  
  86. return m_pOleDoc->Release();
  87. }
  88.  
  89. /**************************************************************************
  90.  
  91.    COleInPlaceActiveObject::OnDocWindowActivate()
  92.    
  93. **************************************************************************/
  94.  
  95. STDMETHODIMP COleInPlaceActiveObject::OnDocWindowActivate(BOOL fActivate)
  96. {
  97. OutputDebugString(TEXT("COleInPlaceActiveObject::OnDocWindowActivate\n"));
  98.  
  99. //If we are getting activated, merge our menus.
  100. if(fActivate)
  101.    {
  102.    if(m_pOleDoc->m_pOleDocView)
  103.       {
  104.       m_pOleDoc->m_pOleDocView->MergeMenus();
  105.       }
  106.    }
  107.  
  108. return S_OK;
  109. }
  110.  
  111. /**************************************************************************
  112.  
  113.    COleInPlaceActiveObject::OnFrameWindowActivate()
  114.    
  115. **************************************************************************/
  116.  
  117. STDMETHODIMP COleInPlaceActiveObject::OnFrameWindowActivate(BOOL fActivate)
  118. {
  119. OutputDebugString(TEXT("COleInPlaceActiveObject::OnFrameWindowActivate\n"));
  120.  
  121. return S_OK;
  122. }
  123.  
  124. /**************************************************************************
  125.  
  126.    COleInPlaceActiveObject::GetWindow()
  127.    
  128. **************************************************************************/
  129.  
  130. STDMETHODIMP COleInPlaceActiveObject::GetWindow(HWND *phwnd)
  131. {
  132. OutputDebugString(TEXT("COleInPlaceActiveObject::GetWindow\n"));
  133.  
  134. return m_pOleDoc->GetWindow(phwnd);
  135. }
  136.  
  137. /**************************************************************************
  138.  
  139.    COleInPlaceActiveObject::ContextSensitiveHelp()
  140.    
  141. **************************************************************************/
  142.  
  143. STDMETHODIMP COleInPlaceActiveObject::ContextSensitiveHelp(BOOL fEnterMode)
  144. {
  145. OutputDebugString(TEXT("COleInPlaceActiveObject::ContextSensitiveHelp\n"));
  146.  
  147. return E_NOTIMPL;
  148. }
  149.  
  150. /**************************************************************************
  151.  
  152.    COleInPlaceActiveObject::TranslateAccelerator()
  153.    
  154. **************************************************************************/
  155.  
  156. STDMETHODIMP COleInPlaceActiveObject::TranslateAccelerator(LPMSG lpmsg)
  157. {
  158. OutputDebugString(TEXT("COleInPlaceActiveObject::TranslateAccelerator\n"));
  159.  
  160. // no accelerator table, return FALSE
  161. return S_FALSE;
  162. }
  163.  
  164. /**************************************************************************
  165.  
  166.    COleInPlaceActiveObject::ResizeBorder()
  167.    
  168. **************************************************************************/
  169.  
  170. STDMETHODIMP COleInPlaceActiveObject::ResizeBorder(   LPCRECT lprectBorder,
  171.                                                       LPOLEINPLACEUIWINDOW lpUIWindow,
  172.                                                       BOOL fFrameWindow)
  173. {
  174. OutputDebugString(TEXT("COleInPlaceActiveObject::ResizeBorder\n"));
  175.  
  176. return S_OK;
  177. }
  178.  
  179. /**************************************************************************
  180.  
  181.    COleInPlaceActiveObject::EnableModeless()
  182.    
  183. **************************************************************************/
  184.  
  185. STDMETHODIMP COleInPlaceActiveObject::EnableModeless(BOOL fEnable)
  186. {
  187. OutputDebugString(TEXT("COleInPlaceActiveObject::EnableModeless\n"));
  188.  
  189. m_fEnableModeless = fEnable;
  190.  
  191. return S_OK;
  192. }
  193.