BOOL CWtlHtmlView::GetBody()
{
    CComPtr<IDispatch> pDisp;
    CComVariant ve;
    // navOpenInNewWindow, navNoHistory,navNoReadFromCache,navNoWriteToCache
    // navAllowAutosearch,navBrowserBar,navHyperlink
    CComVariant vBrowserNav;
    if(m_spHTMLDocument!=NULL)
        return 0;
    // Get the browser interface from the embedded HTML control
    if((m_spWebBrowser==NULL) && FAILED(QueryControl(__uuidof(IWebBrowser), reinterpret_cast<void**>(&m_spWebBrowser))) )
        m_spWebBrowser=NULL;

    if( SUCCEEDED(QueryControl(__uuidof(m_spWebBrowser2), reinterpret_cast<void**>(&m_spWebBrowser2))) )
    {
        if(m_spWebBrowser2!=NULL)
        {
            DispEventAdvise ( m_spWebBrowser2 );
            if(FAILED(m_spWebBrowser2->get_Document( &pDisp)))
                OutputDebugString("get_Document Failed");
            if(pDisp!=NULL)
            {
                if(FAILED(pDisp->QueryInterface(IID_IHTMLDocument2, (void**)&m_spHTMLDocument)))
                    OutputDebugString("QI IID_IHTMLDocument2 Failed");
            }
        }
    }
    return FALSE;
}
void CWtlHtmlView::GoForward() 
{
	if(m_spWebBrowser2==NULL && FAILED(QueryControl(__uuidof(IWebBrowser2), reinterpret_cast<void**>(&m_spWebBrowser2))) )
		return;
	m_spWebBrowser2->GoForward();

}
void CWtlHtmlView::GoBack()
{
    if(m_spWebBrowser==NULL && FAILED(QueryControl(__uuidof(IWebBrowser), reinterpret_cast<void**>(&m_spWebBrowser))) )
        return;
    m_spWebBrowser->GoBack();


}
CComPtr<IWebBrowser2> CWtlHtmlView::GetWebBrowser()
{
	CComPtr<IWebBrowser2> pWebBrowser2;
	pWebBrowser2=NULL;

	if( SUCCEEDED(QueryControl(__uuidof(pWebBrowser2), reinterpret_cast<void**>(&pWebBrowser2))) )
	{
		return pWebBrowser2;
	}
	return NULL;
}
// ---------------------------------------------------------
// CHelloWorldQueryDialog::PreLayoutDynInitL
// ---------------------------------------------------------
//
void  CHelloWorldQueryDialog::PreLayoutDynInitL()
    {
    // first we have to execute PreLayoutDynInitL() of the base-class
    CAknTextQueryDialog::PreLayoutDynInitL();

    // acquire pointer to editor-control and set the default input.
    CAknQueryControl* control = QueryControl();
    control->SetTextL(iDefInput);

    // enable OK-button, so that default text can be accepted as it is
    // without modifying the text
    MakeLeftSoftkeyVisible( ETrue );
    }
Beispiel #6
0
/// ウィンドウの初期化
int CDonutView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	// Let me initialize itself
	LRESULT lRet = DefWindowProc();
	try {
		HRESULT hr = QueryControl(IID_IWebBrowser2, (void**)&m_spBrowser);
		ATLASSERT(m_spBrowser);

		BOOL	bCheck	= GetRegisterAsDropTarget();
		hr = CoCreateInstance(CLSID_DragDropHelper, NULL, CLSCTX_INPROC_SERVER,
                     IID_IDropTargetHelper, (LPVOID*)&m_spDropTargetHelper);
		ATLASSERT(hr == S_OK);

		// Set flat scrollbar style
		CComPtr<IAxWinHostWindow>	spAxHostWindow;
		hr	= QueryHost(&spAxHostWindow);	// ホストを取得
		if (FAILED(hr))
			AtlThrow(hr);

		m_spAxAmbient	= spAxHostWindow;
		ATLASSERT(m_spAxAmbient);

		//フラットビューの可否を適用
		//hr = m_spAxAmbient->put_DocHostFlags(_bFlatView ? docHostUIFlagNotFlatView : docHostUIFlagDEFAULT); // UDT DGSTR ( added by dai
	  #if 1	//+++ xp以降は themeによって平面的であることを期待して、フラットスクロールバーにしないtheme onの設定にする.
		//BOOL	bFlatView	= (m_dwDefaultExtendedStyleFlags & DVS_EX_FLATVIEW) != 0;	//+++ ? 1 : 0;
		BOOL	bFlatView	= (m_ViewOption.m_dwExStyle      & DVS_EX_FLATVIEW) != 0;	//+++ ? 1 : 0;

		unsigned flags      = DOCHOSTUIFLAG_NOT_FLATVIEW;
		if (bFlatView) {
			flags = _CheckOsVersion_XPLater() ? DOCHOSTUIFLAG_THEME_VIEW : DOCHOSTUIFLAG_NOT_FLATVIEW;
		}
	  #else
		BOOL	bFlatView	= (CDLControlOption::s_dwExtendedStyleFlags & DVS_EX_FLATVIEW) != 0;	//+++ ? 1 : 0;
		unsigned flags      = bFlatView ? DOCHOSTUIFLAG_FLATVIEW : DOCHOSTUIFLAG_NOT_FLATVIEW;
	  #endif
		hr	= m_spAxAmbient->put_DocHostFlags(flags);		//\\ flagsを設定する
		if (FAILED(hr))
			AtlThrow(hr);

		// 外部UIのIDispatchインターフェイスを設定する
		CComQIPtr<IDocHostUIHandler>	   pDefaultHandler = spAxHostWindow;
		m_ExternalUIDispatch.SetDefaultUIHandler(pDefaultHandler);
		spAxHostWindow->SetExternalUIHandler(&m_ExternalUIDispatch);

		// 外部AmbientIDispatchインターフェイスを設定する
		CComQIPtr<IAxWinAmbientDispatchEx> pAmbient 	   = spAxHostWindow;
		m_spHost = spAxHostWindow;
		//m_ExternalAmbientDispatch.SetHostWindow(spAxWindow);
		pAmbient->SetAmbientDispatch((IDispatch*)this);//(&m_ExternalAmbientDispatch);

		// DLMnager用にIServiceProviderを登録する
		CComQIPtr<IObjectWithSite>	spObjectWithSite = spAxHostWindow;
		ATLASSERT(spObjectWithSite);
		hr = spObjectWithSite->SetSite((IUnknown*)(IServiceProvider*)this);

		_InitDLControlFlags();

	  #if 1	//+++
		if (m_ViewOption.m_dwExStyle == (DWORD)-1)
			m_ViewOption.m_dwExStyle = CDLControlOption::s_dwExtendedStyleFlags; //_dwViewStyle;
	  #else
		ATLASSERT(m_ViewOption.m_dwExStyle == 0);
		m_ViewOption.m_dwExStyle = CDLControlOption::s_dwExtendedStyleFlags; //_dwViewStyle;
	  #endif
		RegisterDragDrop(m_hWnd, this);
	}
	catch (const CAtlException& e) {
		MessageBox(GetLastErrorString(e));
	}
	return 0;
}