BOOL ViewControl_PropertyPage(HWND hParent, CWnd *pCtrl) { LCID m_lcid=GetUserDefaultLCID(); //User locale IDispatch *m_pIDispatch = (IDispatch *)pCtrl->GetControlUnknown(); //Object in use ISpecifyPropertyPages *pISPP; CAUUID caGUID; HRESULT hr; if (FAILED(m_pIDispatch->QueryInterface(IID_ISpecifyPropertyPages, (void **)&pISPP))) { TRACE(TEXT("Object has no property pages")); return 0; } hr=pISPP->GetPages(&caGUID); pISPP->Release(); if (FAILED(hr)) { TRACE(TEXT("Failed to retrieve property page GUIDs")); return 0; } hr=OleCreatePropertyFrame(hParent, 10, 10, 0, 1, (IUnknown **)&m_pIDispatch, caGUID.cElems, caGUID.pElems, m_lcid, 0L, NULL); if (FAILED(hr)) { TRACE(TEXT("OleCreatePropertyFrame failed")); return 0; } //Free the GUIDs CoTaskMemFree((void *)caGUID.pElems); return 1; }