mirror of https://github.com/lianthony/NT4.0
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.
231 lines
6.2 KiB
231 lines
6.2 KiB
//*********************************************************************
|
|
//* Microsoft Windows **
|
|
//* Copyright(c) Microsoft Corp., 1995 **
|
|
//*********************************************************************
|
|
|
|
//
|
|
// ACTOBJ.CPP - Implementation of COleInPlaceActiveObject class
|
|
//
|
|
|
|
// HISTORY:
|
|
//
|
|
// 10/15/95 jeremys Created.
|
|
//
|
|
|
|
//
|
|
// The COleInPlaceActiveObject class implements the IOleInPlaceActiveObject
|
|
// interface.
|
|
//
|
|
|
|
#include "project.hpp"
|
|
#pragma hdrstop
|
|
|
|
#include "htmlview.hpp"
|
|
#include "helpers.hpp"
|
|
|
|
|
|
/*******************************************************************
|
|
|
|
NAME: COleInPlaceActiveObject::QueryInterface
|
|
|
|
SYNOPSIS: Returns pointer to requested interface
|
|
|
|
NOTES: Delegates to outer unknown
|
|
|
|
********************************************************************/
|
|
STDMETHODIMP COleInPlaceActiveObject::QueryInterface ( REFIID riid, LPVOID FAR* ppvObj)
|
|
{
|
|
DEBUGMSG("In COleObject::QueryInterface\r\n");
|
|
return m_pUnkOuter->QueryInterface(riid, ppvObj);
|
|
}
|
|
|
|
|
|
/*******************************************************************
|
|
|
|
NAME: COleInPlaceActiveObject::AddRef
|
|
|
|
SYNOPSIS: Increases reference count on this object
|
|
|
|
********************************************************************/
|
|
STDMETHODIMP_(ULONG) COleInPlaceActiveObject::AddRef()
|
|
{
|
|
DEBUGMSG("In COleObject::AddRef\r\n");
|
|
m_nCount ++;
|
|
return m_pUnkOuter->AddRef();
|
|
}
|
|
|
|
|
|
/*******************************************************************
|
|
|
|
NAME: COleInPlaceActiveObject::Release
|
|
|
|
SYNOPSIS: Decrements reference count on this object.
|
|
|
|
********************************************************************/
|
|
STDMETHODIMP_(ULONG) COleInPlaceActiveObject::Release()
|
|
{
|
|
DEBUGMSG("In COleObject::Release\r\n");
|
|
m_nCount--;
|
|
return m_pUnkOuter->Release();
|
|
}
|
|
|
|
|
|
/*******************************************************************
|
|
|
|
NAME: COleInPlaceActiveObject::OnDocWindowActivate
|
|
|
|
SYNOPSIS: Called when the document window (in an MDI app)
|
|
is activated or deactivated.
|
|
|
|
ENTRY: fActivate - TRUE if activating, FALSE if deactivating
|
|
|
|
********************************************************************/
|
|
STDMETHODIMP COleInPlaceActiveObject::OnDocWindowActivate ( BOOL fActivate )
|
|
{
|
|
DEBUGMSG("In COleInPlaceActiveObject::OnDocWindowActivate\r\n");
|
|
|
|
#if 0
|
|
// BUGBUG implement
|
|
// Activating?
|
|
if (fActivate)
|
|
m_pHTMLView->AddFrameLevelUI();
|
|
#endif
|
|
// No frame level tools to remove...
|
|
|
|
return ResultFromScode(S_OK);
|
|
};
|
|
|
|
|
|
/*******************************************************************
|
|
|
|
NAME: COleInPlaceActiveObject::OnFrameWindowActivate
|
|
|
|
SYNOPSIS: Called when the frame window is activated or deactivated.
|
|
|
|
ENTRY: fActivate - TRUE if activating, FALSE if deactivating
|
|
|
|
********************************************************************/
|
|
STDMETHODIMP COleInPlaceActiveObject::OnFrameWindowActivate ( BOOL fActivate)
|
|
{
|
|
DEBUGMSG("In COleInPlaceActiveObject::OnFrameWindowActivate\r\n");
|
|
|
|
#if 0
|
|
// BUGBUG implement
|
|
// set the focus to the object window if we are activating.
|
|
/* if (fActivate)
|
|
SetFocus(m_pHTMLView->m_lpDoc->GethDocWnd()); */
|
|
#endif
|
|
|
|
return ResultFromScode( S_OK );
|
|
};
|
|
|
|
|
|
/*******************************************************************
|
|
|
|
NAME: COleInPlaceActiveObject::GetWindow
|
|
|
|
SYNOPSIS: Returns the window handle of the in-place object
|
|
|
|
********************************************************************/
|
|
STDMETHODIMP COleInPlaceActiveObject::GetWindow ( HWND FAR* lphwnd)
|
|
{
|
|
DEBUGMSG("In COleInPlaceActiveObject::GetWindow\r\n");
|
|
|
|
#if 0
|
|
// BUGBUG implement
|
|
*lphwnd = m_pHTMLView->m_lpDoc->GethDocWnd();
|
|
#endif
|
|
|
|
*lphwnd = NULL; // BUGBUG temporary!
|
|
|
|
return ResultFromScode( S_OK );
|
|
};
|
|
|
|
|
|
/*******************************************************************
|
|
|
|
NAME: COleInPlaceActiveObject::ContextSensitiveHelp
|
|
|
|
SYNOPSIS: Called when container wants object to enter or exit
|
|
context sensitive help mode
|
|
|
|
********************************************************************/
|
|
STDMETHODIMP COleInPlaceActiveObject::ContextSensitiveHelp ( BOOL fEnterMode )
|
|
{
|
|
DEBUGMSG("In COleInPlaceActiveObject::ContextSensitiveHelp\r\n");
|
|
|
|
// BUGBUG need to do something real here sooner or later
|
|
|
|
return ResultFromScode( E_NOTIMPL);
|
|
};
|
|
|
|
|
|
/*******************************************************************
|
|
|
|
NAME: COleInPlaceActiveObject::TranslateAccelerator
|
|
|
|
SYNOPSIS: Called to translate accelerator keystrokes for
|
|
controls in this object
|
|
|
|
********************************************************************/
|
|
STDMETHODIMP COleInPlaceActiveObject::TranslateAccelerator ( LPMSG lpmsg)
|
|
{
|
|
DEBUGMSG("In COleInPlaceActiveObject::TranslateAccelerator\r\n");
|
|
|
|
// BUGBUG need to do something real here sooner or later
|
|
|
|
return ResultFromScode( S_FALSE );
|
|
};
|
|
|
|
|
|
/*******************************************************************
|
|
|
|
NAME: COleInPlaceActiveObject::ResizeBorder
|
|
|
|
SYNOPSIS: Called when the border changes size
|
|
|
|
ENTRY: lprectBorder - new border rectangle
|
|
lpUIWindow - pointer to IOleInPlaceUIWindow interface
|
|
fFrameWindow - true if lpUIWindow is the frame window
|
|
|
|
********************************************************************/
|
|
STDMETHODIMP COleInPlaceActiveObject::ResizeBorder ( LPCRECT lprectBorder,
|
|
LPOLEINPLACEUIWINDOW lpUIWindow,
|
|
BOOL fFrameWindow)
|
|
{
|
|
DEBUGMSG("In COleInPlaceActiveObject::ResizeBorder\r\n");
|
|
|
|
#if 0
|
|
// BUGBUG implement
|
|
|
|
// should always have an inplace frame...
|
|
m_pHTMLView->GetInPlaceFrame()->SetBorderSpace(NULL);
|
|
|
|
// There will only be a UIWindow if in an MDI container
|
|
if (m_pHTMLView->GetUIWindow())
|
|
m_pHTMLView->GetUIWindow()->SetBorderSpace(NULL);
|
|
#endif
|
|
|
|
return ResultFromScode( S_OK );
|
|
};
|
|
|
|
|
|
/*******************************************************************
|
|
|
|
NAME: COleInPlaceActiveObject::EnableModeless
|
|
|
|
SYNOPSIS: Called to enable or disable modeless dialogs
|
|
|
|
ENTRY: fEnable - TRUE if enabling modeless dialogs, FALSE
|
|
if disabling
|
|
|
|
********************************************************************/
|
|
STDMETHODIMP COleInPlaceActiveObject::EnableModeless ( BOOL fEnable)
|
|
{
|
|
DEBUGMSG("In COleInPlaceActiveObject::EnableModeless\r\n");
|
|
|
|
// BUGBUG need to do something real here sooner or later
|
|
|
|
return ResultFromScode( S_OK );
|
|
};
|
|
|