STDMETHODIMP Cieambulant::SetClientSite(LPOLECLIENTSITE pSite) { HRESULT hr = CComControlBase::IOleObject_SetClientSite(pSite); if (hr != S_OK) return hr; if (pSite) { s_ref_count++; if (s_ref_count == 1) s_site = pSite; } else { if (s_ref_count > 0) s_ref_count--; if (s_ref_count == 0) { // clear all statics s_site = NULL; } } m_site = pSite; // if(pSite && !m_pFont) // hr = GetAmbientFontDisp(&m_pFont); GetAmbientBackColor(m_clrBackColor); GetAmbientForeColor(m_clrForeColor); //XXX std::ostream sos = new std::ostream(std::cout); //XXX ambulant::lib::logger::get_logger()->set_std_ostream(sos); // static std::ofstream log_os("C:\\Documents and Settings\\kees.AMBULANT-DEV\\My Documents\\Ambulant\\ambulant\\src\\ieambulant\\amlog.txt"); // ambulant::lib::logger::get_logger()->set_std_ostream(log_os); // s_hook = SetWindowsHookEx(WH_GETMESSAGE, GetMsgProc, NULL, GetCurrentThreadId()); return hr; }
STDMETHODIMP CMainWindow::SetClientSite(LPOLECLIENTSITE pSite) { HRESULT hr = CComControlBase::IOleObject_SetClientSite(pSite); if(!m_pFont && pSite) { hr = GetAmbientFontDisp(&m_pFont); } GetAmbientBackColor(m_clrBackColor); GetAmbientForeColor(m_clrForeColor); return S_OK; }