您的位置:首页 > Web前端 > HTML

CDHtmlDialog显示滚动条

2012-03-15 17:51 423 查看
CDHtmlDialog默认不显示滚动条,查看CDHtmlDialog::Initialize实现代码,发现如下代码:

SetHostFlags(DOCHOSTUIFLAG_NO3DBORDER | DOCHOSTUIFLAG_SCROLL_NO);

如果要显示滚动条,可以重写OnInitDialog函数增加如下代码:
SetHostFlags(DOCHOSTUIFLAG_FLAT_SCROLLBAR);

注意:这条语句必须在CDHtmlDialog::OnInitDialog()之前调用,滚动条会一直显示。 
 
如果要根据窗口大小动态显示滚动条,则可以重写OnNavigateComplete函数,增加如下代码:

CComPtr<IHTMLElement> spElement;

spDocument->get_body(&spElement);

if (NULL == spElement)

    return;
CComPtr<IHTMLBodyElement> spBodyElement;

spElement->QueryInterface(__uuidof(IHTMLBodyElement), (void**)&spBodyElement);

if (NULL == spBodyElement)

    return;
spBodyElement->put_scroll(_bstr_t(_T("auto")));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  scroll null