您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> VC/MFC >> VC中修改IE网页滚动条的颜色和样式?

VC中修改IE网页滚动条的颜色和样式?

来源:网络整理     时间:2016/8/23 3:19:37     关键词:

关于网友提出的“ 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

相关图片

相关文章