sugarontop2009-03-03



IOleClientSite::GetMonikerを実装した、CAxHostWindowの拡張クラスであるCNewWindowHostを作成。あっさりと、MFCのCView上のwindow内でSilverlightは動作した。

ただ、CNewWindowHostの作成にはMSDNの記事とその中のVBLite.exe内の"sitebase.h"を使用。これを参考にCAxHostWindowを拡張した。継承しただけではダメ。


STDMETHOD(GetMoniker)(DWORD dwAssign, DWORD dwWhichMoniker, IMoniker** ppmk)
{
*ppmk = NULL;
HRESULT hr = E_UNEXPECTED;
if ( m_strUrl.Length() > 0 && (dwWhichMoniker == OLEWHICHMK_CONTAINER) )
{
hr = CreateURLMoniker(NULL, m_strUrl, ppmk);
}
return hr;
}