嵌入IE9时按钮上没有主题

时间:2011-09-06 19:03:37

标签: themes internet-explorer-9 embedding

我在标准的Win32应用程序中使用IE9的IWebBrowser2接口。具有按钮之类的控件的页面在没有主题的情况下呈现,因此看起来像Windows 2000时代的东西。使用独立IE9可以正确显示相同的页面。所有页面都有

<meta http-equiv="X-UA-Compatible" content="IE=9"/>
标题

中的

有什么想法吗?

Unthemed button snap

1 个答案:

答案 0 :(得分:1)

您必须实施IDocHostUIHandler,然后在方法GetHostInfo中将DOCHOSTUIFLAG_THEME添加到dwFlags

STDMETHODIMP GetHostInfo(DOCHOSTUIINFO *pInfo)
{
    pInfo->cbSize = sizeof(DOCHOSTUIINFO);
    pInfo->dwFlags = DOCHOSTUIFLAG_NO3DBORDER|DOCHOSTUIFLAG_DIALOG|DOCHOSTUIFLAG_THEME;
    pInfo->dwDoubleClick = DOCHOSTUIDBLCLK_DEFAULT;
    return S_OK;
}