我在VS2005下利用MFC建立了一个CHTMLView的对话框用来显示网页,我想去掉对话框的边框跟滚动条,写了如下代码: HRESULT CEditHtml_View::OnGetHostInfo(DOCHOSTUIINFO *pInfo)
{ if(pInfo)
{
pInfo-> dwFlags = DOCHOSTUIFLAG_NO3DBORDER| DOCHOSTUIFLAG_SCROLL_NO; }
return S_OK;
} 可在运行之后,我发现滚动条没了,可边框去还在,在网上查了很久也没解决,谁能给我提供下更好的详细解决方案,谢谢了。
virtual HRESULT OnGetHostInfo(DOCHOSTUIINFO *pInfo)
{
pInfo->cbSize = sizeof (DOCHOSTUIINFO); pInfo->dwFlags =
DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE |
DOCHOSTUIFLAG_NO3DBORDER |
DOCHOSTUIFLAG_NO3DOUTERBORDER |
DOCHOSTUIFLAG_THEME |
DOCHOSTUIFLAG_DISABLE_HELP_MENU |
DOCHOSTUIFLAG_FLAT_SCROLLBAR;
return S_OK;
}一般我这么写。
你下载这个软件,用Spy++看看HTML view的style。
HRESULT CWebBrowser::OnGetHostInfo(DOCHOSTUIINFO *pInfo )
{
//去掉滚动条
if(pInfo != NULL)
{
pInfo->dwFlags = pInfo->dwFlags | DOCHOSTUIFLAG_NO3DBORDER | DOCHOSTUIFLAG_SCROLL_NO;
} return S_OK;
}
看完了 Window styles 为WS_CHILDWINDOIW,WS_VISIBLE,WS_CLIPSIBLINGS,WS_CLIPCHILDREN
mainframe的cs风格:
cs.style = WS_OVERLAPPED| WS_MINIMIZEBOX | WS_SYSMENU;
cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
view的cs风格:
cs.style &= ~WS_BORDER;
非常感谢你,根据你的提示,现已成功实现。但我现在还想,当在这个对话框上点击的时候,再动态创建一个这样CHTMLView作为子对话框,大家有什么好主意吗