关于网友提出的“ VC中修改IE网页滚动条的颜色和样式?”问题疑问,本网通过在网上对“ VC中修改IE网页滚动条的颜色和样式?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: VC中修改IE网页滚动条的颜色和样式?
描述:本帖最后由 VisualEleven 于 2013-08-14 14:46:05 编辑
VC
按照MSDN和网上搜集的资料我实现了如下的代码:
HRESULT STDMETHODCALLTYPE CWebCtrlInterFace::GetHostInfo(DOCHOSTUIINFO *pInfo)
{
if (m_defaultDocHostUIHandler != NULL)
return m_defaultDocHostUIHandler->GetHostInfo(pInfo);
else
{
pInfo->cbSize = sizeof(DOCHOSTUIINFO);
if (m_nStyle)
{
pInfo->dwFlags = DOCHOSTUIFLAG_NO3DBORDER|DOCHOSTUIFLAG_SCROLL_NO;
}
else
{
WCHAR* szCSS = L"";
size_t cchlengthCSs;
HRESULT hr = StringCchLengthW(szCSS, CCHMAX, &cchlengthCSs);
OLECHAR* pCSSBuffer = (OLECHAR*)CoTaskMemAlloc((cchlengthCSs+1)*sizeof(OLECHAR));
hr = StringCchCopyW(pCSSBuffer, cchlengthCSs+1, szCSS);
pInfo->pchHostCss = pCSSBuffer;
pInfo->dwFlags = DOCHOSTUIFLAG_NO3DBORDER;
}
pInfo->dwDoubleClick = DOCHOSTUIDBLCLK_DEFAULT;
return S_OK;
}
但修改后还是没有效果,请教大神们应该怎样的修改网页中的颜色和样式
解决方案1:HRESULT CMyHtmlView::OnGetHostInfo(DOCHOSTUIINFO *pInfo)
{
pInfo->cbSize = sizeof(DOCHOSTUIINFO);
WCHAR* szCSS = L"BODY{SCROLLBAR-FACE-COLOR: #00000; \
SCROLLBAR-HIGHLIGHT-COLOR: #FF0000;\
SCROLLBAR-SHADOW-COLOR: #00FF00; \
SCROLLBAR-3DLIGHT-COLOR:#53670D; \
SCROLLBAR-ARROW-COLOR: #53670D; \
SCROLLBAR-TRACK-COLOR: #D4E597; \
SCROLLBAR-DARKSHADOW-COLOR: #53670D; \
SCROLLBAR-BASE-COLOR: #fcfcfc }";
size_t cchlengthCSs;
HRESULT hr = StringCchLengthW(szCSS, wcslen(szCSS) * 2, &cchlengthCSs);
OLECHAR* pCSSBuffer = (OLECHAR*)CoTaskMemAlloc((cchlengthCSs+1)*sizeof(OLECHAR));
hr = StringCchCopyW(pCSSBuffer, cchlengthCSs+1, szCSS);
pInfo->pchHostCss = pCSSBuffer;
pInfo->dwDoubleClick = DOCHOSTUIDBLCLK_DEFAULT;
return S_OK;
}
解决方案2: [code=c]HRESULT CMyHtmlView::OnGetHostInfo(DOCHOSTUIINFO *pInfo)
{
pInfo->cbSize = sizeof(DOCHOSTUIINFO);
WCHAR* szCSS = L"BODY{SCROLLBAR-FACE-COLOR: #00000; \
SCROLLBAR-HIGHLIGHT-COLOR: #FF0000;\
SCROLLBAR-SHADOW-COLOR: #00FF00; \
SCROLLBAR-3DLIGHT-COLOR:#53670D; \
SCROLLBAR-ARROW-COLOR: #53670D; \
SCROLLBAR-TRACK-COLOR: #D4E597; \
SCROLLBAR-DARKSHADOW-COLOR: #53670D; \
SCROLLBAR-BASE-COLOR: #fcfcfc }";
size_t cchlengthCSs;
HRESULT hr = StringCchLengthW(szCSS, wcslen(szCSS) * 2, &cchlengthCSs);
OLECHAR* pCSSBuffer = (OLECHAR*)CoTaskMemAlloc((cchlengthCSs+1)*sizeof(OLECHAR));
hr = StringCchCopyW(pCSSBuffer, cchlengthCSs+1, szCSS);
pInfo->pchHostCss = pCSSBuffer;
pInfo->dwDoubleClick = DOCHOSTUIDBLCLK_DEFAULT;
return S_OK;
}/code]
以上介绍了“ VC中修改IE网页滚动条的颜色和样式?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3508469.html