Leaked source code of windows server 2003
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.
|
|
/*++
Copyright (C) 1993-1999 Microsoft Corporation
Module Name:
iipobj.cpp
Abstract:
IOleInPlaceObject interface implementation for Polyline
--*/
#include "polyline.h"
#include "unkhlpr.h"
/*
* CImpIOleInPlaceObject interface implementation */
IMPLEMENT_CONTAINED_INTERFACE(CPolyline, CImpIOleInPlaceObject)
/*
* CImpIOleInPlaceObject::GetWindow * * Purpose: * Retrieves the handle of the window associated with the object * on which this interface is implemented. * * Parameters: * phWnd HWND * in which to store the window handle. * * Return Value: * HRESULT NOERROR if successful, E_FAIL if there is no * window. */
STDMETHODIMP CImpIOleInPlaceObject::GetWindow( OUT HWND *phWnd ) { HRESULT hr = S_OK;
if (phWnd == NULL) { return E_POINTER; }
try { if (NULL != m_pObj->m_pHW) { *phWnd = m_pObj->m_pHW->Window(); } else { *phWnd = m_pObj->m_pCtrl->Window(); } } catch (...) { hr = E_POINTER; }
return NOERROR; }
/*
* CImpIOleInPlaceObject::ContextSensitiveHelp * * Purpose: * Instructs the object on which this interface is implemented to * enter or leave a context-sensitive help mode. * * Parameters: * fEnterMode BOOL TRUE to enter the mode, FALSE otherwise. * * Return Value: * HRESULT NOERROR or an error code */
STDMETHODIMP CImpIOleInPlaceObject::ContextSensitiveHelp ( BOOL /* fEnterMode */ ) { return (E_NOTIMPL); }
/*
* CImpIOleInPlaceObject::InPlaceDeactivate * * Purpose: * Instructs the object to deactivate itself from an in-place state * and to discard any Undo state. * * Parameters: * None * * Return Value: * HRESULT NOERROR or an error code */
STDMETHODIMP CImpIOleInPlaceObject::InPlaceDeactivate(void) { m_pObj->InPlaceDeactivate(); return NOERROR; }
/*
* CImpIOleInPlaceObject::UIDeactivate * * Purpose: * Instructs the object to just remove any in-place user interface * but to do no other deactivation. The object should just hide * the UI components but not destroy them until InPlaceDeactivate * is called. * * Parameters: * None * * Return Value: * HRESULT NOERROR or an error code */
STDMETHODIMP CImpIOleInPlaceObject::UIDeactivate(void) { m_pObj->UIDeactivate(); return NOERROR; }
/*
* CImpIOleInPlaceObject::SetObjectRects * * Purpose: * Provides the object with rectangles describing the position of * the object in the container window as well as its visible area. * * Parameters: * prcPos LPCRECT providing the object's full rectangle * relative to the continer's document. The object * should scale to this rectangle. * prcClip LPCRECT describing the visible area of the object * which should not draw outside these areas. * * Return Value: * HRESULT NOERROR or an error code */
STDMETHODIMP CImpIOleInPlaceObject::SetObjectRects( LPCRECT prcPos, LPCRECT prcClip ) { HRESULT hr = S_OK;
if (NULL != m_pObj->m_pHW) { try { m_pObj->m_pHW->RectsSet((LPRECT)prcPos, (LPRECT)prcClip); } catch (...) { hr = E_POINTER; } }
return hr; }
/*
* CImpIOleInPlaceObject::ReactivateAndUndo * * Purpose: * Instructs the object to reactivate itself in-place and perform * whatever Undo means for it. * * Parameters: * None * * Return Value: * HRESULT NOERROR or an error code */
STDMETHODIMP CImpIOleInPlaceObject::ReactivateAndUndo(void) { return m_pObj->InPlaceActivate(m_pObj->m_pIOleClientSite, TRUE); }
|