BOOL ShowPropertySheet(CWnd* pWnd, LPUNKNOWN lpUnkown )
{
ASSERT(pWnd);
ASSERT(lpUnkown);
BOOL bResult = FALSE;
LPOLEOBJECT lpOleObject = NULL;
if( SUCCEEDED(lpUnkown->QueryInterface(IID_IOleObject, (LPVOID*)&lpOleObject)) )
{
IOleClientSite* lpOleClientSite;
if( SUCCEEDED( lpOleObject->GetClientSite( &lpOleClientSite ) ) )
{
MSG Msg;
memset(&Msg, 0, sizeof(MSG));
CRect rct;
pWnd->GetClientRect( &rct );
lpOleObject->DoVerb(
OLEIVERB_PROPERTIES, &Msg, lpOleClientSite, 0, pWnd->GetSafeHwnd(), rct );
lpOleClientSite->Release();
bResult = TRUE;
}
lpOleObject->Release();
}
return( bResult );
}