Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//*********************************************************************
//* Microsoft Windows **
//* Copyright(c) Microsoft Corp., 1999 **
//*********************************************************************
//
// IOIPFRAM.CPP - Implements IOleInPlaceFrame for the WebOC
//
// HISTORY:
//
// 1/27/99 a-jaswed Created.
#include <assert.h>
#include "ioipfram.h"
#include "iosite.h"
//**********************************************************************
// COleInPlaceFrame::COleInPlaceFrame -- Constructor
//**********************************************************************
COleInPlaceFrame::COleInPlaceFrame(COleSite* pSite) { m_pOleSite = pSite; m_nCount = 0;
AddRef(); }
//**********************************************************************
// COleInPlaceFrame::COleInPlaceFrame -- Destructor
//**********************************************************************
COleInPlaceFrame::~COleInPlaceFrame() { assert(m_nCount == 0); }
//**********************************************************************
// COleInPlaceFrame::QueryInterface
//**********************************************************************
STDMETHODIMP COleInPlaceFrame::QueryInterface(REFIID riid, LPVOID* ppvObj) { // delegate to the document Object
return m_pOleSite->QueryInterface(riid, ppvObj); }
//**********************************************************************
// COleInPlaceFrame::AddRef
//**********************************************************************
STDMETHODIMP_(ULONG) COleInPlaceFrame::AddRef() { // increment the interface reference count
return ++m_nCount; }
//**********************************************************************
// COleInPlaceFrame::Release
//**********************************************************************
STDMETHODIMP_(ULONG) COleInPlaceFrame::Release() { // decrement the interface reference count
--m_nCount; if(m_nCount == 0) { delete this; return 0; } return m_nCount; }
//**********************************************************************
// COleInPlaceFrame::GetWindow
//**********************************************************************
STDMETHODIMP COleInPlaceFrame::GetWindow (HWND* lphwnd) { *lphwnd = m_pOleSite->m_hWnd; return ResultFromScode(S_OK); }
//**********************************************************************
// COleInPlaceFrame::ContextSensitiveHelp
//**********************************************************************
STDMETHODIMP COleInPlaceFrame::ContextSensitiveHelp (BOOL fEnterMode) { //Returning S_OK here prevents the default one from showing
return ResultFromScode(S_OK); }
//**********************************************************************
// COleInPlaceFrame::GetBorder
//**********************************************************************
STDMETHODIMP COleInPlaceFrame::GetBorder (LPRECT lprectBorder) { RECT rect;
// get the rect for the entire frame.
GetClientRect(m_pOleSite->m_hWnd, &rect);
CopyRect(lprectBorder, &rect);
return ResultFromScode(S_OK); }
//**********************************************************************
// COleInPlaceFrame::RequestBorderSpace -- Not implemented
//**********************************************************************
STDMETHODIMP COleInPlaceFrame::RequestBorderSpace (LPCBORDERWIDTHS lpborderwidths) { // always approve the request
return ResultFromScode(S_OK); }
//**********************************************************************
// COleInPlaceFrame::SetBorderSpace -- Not implemented
//**********************************************************************
STDMETHODIMP COleInPlaceFrame::SetBorderSpace (LPCBORDERWIDTHS lpborderwidths) { return ResultFromScode(S_OK); }
//**********************************************************************
// COleInPlaceFrame::SetActiveObject -- Not implemented
//**********************************************************************
STDMETHODIMP COleInPlaceFrame::SetActiveObject(LPOLEINPLACEACTIVEOBJECT lpActiveObject, LPCOLESTR lpszObjName) { return ResultFromScode(S_OK); }
//**********************************************************************
// COleInPlaceFrame::InsertMenus -- Not implemented
//**********************************************************************
STDMETHODIMP COleInPlaceFrame::InsertMenus (HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) { return ResultFromScode(S_OK); }
//**********************************************************************
// COleInPlaceFrame::SetMenu -- Not implemented
//**********************************************************************
STDMETHODIMP COleInPlaceFrame::SetMenu (HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject) { return ResultFromScode(S_OK); }
//**********************************************************************
// COleInPlaceFrame::RemoveMenus -- Not implemented
//**********************************************************************
STDMETHODIMP COleInPlaceFrame::RemoveMenus (HMENU hmenuShared) { return ResultFromScode(S_OK); }
//**********************************************************************
// COleInPlaceFrame::SetStatusText -- Not implemented
//**********************************************************************
STDMETHODIMP COleInPlaceFrame::SetStatusText (LPCOLESTR lpszStatusText) { return ResultFromScode(E_FAIL); }
//**********************************************************************
// COleInPlaceFrame::EnableModeless -- Not implemented
//**********************************************************************
STDMETHODIMP COleInPlaceFrame::EnableModeless (BOOL fEnable) { return ResultFromScode(S_OK); }
//**********************************************************************
// COleInPlaceFrame::TranslateAccelerator -- Not implemented
//**********************************************************************
STDMETHODIMP COleInPlaceFrame::TranslateAccelerator (LPMSG lpmsg, WORD wID) { return ResultFromScode(S_FALSE); }
|