按照网上的办法,我添加了以下函数
HRESULT CMyView::OnGetHostInfo(DOCHOSTUIINFO *pInfo)
{
if(pInfo != NULL)
{
pInfo->dwFlags = DOCHOSTUIFLAG_SCROLL_NO;
}
return S_OK;}
结果根本不行,求教高人指点,如果有案例发到我邮箱更好,谢谢!
HRESULT CMyView::OnGetHostInfo(DOCHOSTUIINFO *pInfo)
{
if(pInfo != NULL)
{
pInfo->dwFlags = DOCHOSTUIFLAG_SCROLL_NO;
}
return S_OK;}
结果根本不行,求教高人指点,如果有案例发到我邮箱更好,谢谢!
正解,我帮复制一下吧:
HRESULT GetHostInfo(DOCHOSTUIINFO *pInfo)
{
WCHAR* szCSS = L "BODY {background-color:#ffcccc} ";
WCHAR* szNS = L "IE;MyTags;MyTags2= 'www.microsoft.com ' ";
OLECHAR* pCSSBuffer = (OLECHAR*)CoTaskMemAlloc((wcslen(szCSS) + 1) * sizeof(OLECHAR));
OLECHAR* pNSBuffer = (OLECHAR*)CoTaskMemAlloc((wcslen(szNS) + 1) * sizeof(OLECHAR));
wcscpy(pCSSBuffer, szCSS);
wcscpy(pNSBuffer, szNS); pInfo-> cbSize = sizeof(DOCHOSTUIINFO);
pInfo-> dwFlags = DOCHOSTUIFLAG_NO3DBORDER | DOCHOSTUIFLAG_SCROLL_NO;
pInfo-> dwDoubleClick = DOCHOSTUIDBLCLK_DEFAULT;
pInfo-> pchHostCss = pCSSBuffer;
pInfo-> pchHostNS = pNSBuffer; return S_OK;
}
pchHostCss 和 pchHostNS 不是pchHostNS的参数
typedef struct _DOCHOSTUIINFO {
ULONG cbSize;
DWORD dwFlags;
DWORD dwDoubleClick;
OLECHAR *pchHostCss;
OLECHAR *pchHostNS;
} DOCHOSTUIINFO
可是我的mshtmhst.h定义是typedef struct _DOCHOSTUIINFO
{
ULONG cbSize;
DWORD dwFlags;
DWORD dwDoubleClick;
} DOCHOSTUIINFO;
Header and IDL files: mshtmhst.h, mshtmhst.idl
而我只包含了mshtmhst.h这个头文件,就开始使用DOCHOSTUIINFO了,这样做有问题吗?