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")));
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")));
相关文章推荐
- CDHtmlDialog显示滚动条
- CDHtmlDialog显示滚动条
- CDHtmlDialog中阻止某页面的显示
- 让Webbrowser、CDHtmlDialog中的控件显示为系统主题样式
- CDHtmlDialog 显示网页前修改网页源码的方法
- CDHtmlDialog中阻止某页面的显示
- 用MFC实现WebGUI--(CDHtmlDialog)
- CDHTMLDialog调用注意
- CDHtmlDialog的基本使用
- 在CDHTMLDialog中用JavaScript调用C++函数
- CDHtmlDialog 浏览器遇到的服务器忙( Server Busy)问题
- CDHtmlDialog的基本使用
- 用MFC实现WebGUI--(CDHtmlDialog)
- 关于MFC项目中使用CDHtmlDialog禁止脚本错误的方法
- CDHtmlDialog探索----Javascript与窗体交互
- 在MFC中使用CDHtmlDialog做网页界面设计
- html关于强制显示、隐藏浏览器的滚动条
- CDHtmlDialog 基本使用
- 获取网页中的内容(CDHtmlDialog)
- html中设置超出部分自动显示滚动条