if( _p_instance->isInPlaceActive() )
{
if( _p_instance->hasFocus() )
- {
_p_instance->setFocus(FALSE);
- }
LPOLEOBJECT p_oleObject;
if( SUCCEEDED(QueryInterface(IID_IOleObject, (void**)&p_oleObject)) )
if( SUCCEEDED(p_clientSite->QueryInterface(IID_IOleInPlaceSite, (void**)&p_inPlaceSite)) )
{
+ LPOLEINPLACEFRAME p_inPlaceFrame;
+ LPOLEINPLACEUIWINDOW p_inPlaceUIWindow;
+ OLEINPLACEFRAMEINFO oleFrameInfo;
+ RECT posRect, clipRect;
+
+ oleFrameInfo.cb = sizeof(OLEINPLACEFRAMEINFO);
+ if( SUCCEEDED(p_inPlaceSite->GetWindowContext(&p_inPlaceFrame, &p_inPlaceUIWindow, &posRect, &clipRect, &oleFrameInfo)) )
+ {
+ if( p_inPlaceFrame )
+ {
+ p_inPlaceFrame->SetActiveObject(NULL, NULL);
+ p_inPlaceFrame->Release();
+ }
+ if( p_inPlaceUIWindow )
+ {
+ p_inPlaceUIWindow->SetActiveObject(NULL, NULL);
+ p_inPlaceUIWindow->Release();
+ }
+ }
p_inPlaceSite->OnUIDeactivate(FALSE);
p_inPlaceSite->Release();
}