请教:如何去掉对话框中CHtmlCtrl的边框?我在对话框中放了一个Static,然后在OnInitDialog()加载CHtmlCtrl.
现在我想去掉CHtmlCtrl的边框,使得CHtmlCtrl象是平面的.
我试了下面两种方法,都不成功.1.在OnInitDialog()时修改
m_page.ModifyStyle(WS_BORDER,0);2.修改CHtmlCtrl的create
将BOOL Create(const RECT& rc, CWnd* pParent, UINT nID,
DWORD dwStyle = WS_CHILD|WS_VISIBLE , CCreateContext* pContext = NULL)
{
return CHtmlView::Create(NULL, NULL, dwStyle, rc,
pParent, nID, pContext);
}
修改成:
BOOL Create(const RECT& rc, CWnd* pParent, UINT nID,
WORD dwStyle = WS_CHILD|WS_VISIBLE & ~WS_BORDER,
CCreateContext* pContext = NULL)
{
return CHtmlView::Create(NULL, NULL, dwStyle, rc,
pParent, nID, pContext);
}
现在我想去掉CHtmlCtrl的边框,使得CHtmlCtrl象是平面的.
我试了下面两种方法,都不成功.1.在OnInitDialog()时修改
m_page.ModifyStyle(WS_BORDER,0);2.修改CHtmlCtrl的create
将BOOL Create(const RECT& rc, CWnd* pParent, UINT nID,
DWORD dwStyle = WS_CHILD|WS_VISIBLE , CCreateContext* pContext = NULL)
{
return CHtmlView::Create(NULL, NULL, dwStyle, rc,
pParent, nID, pContext);
}
修改成:
BOOL Create(const RECT& rc, CWnd* pParent, UINT nID,
WORD dwStyle = WS_CHILD|WS_VISIBLE & ~WS_BORDER,
CCreateContext* pContext = NULL)
{
return CHtmlView::Create(NULL, NULL, dwStyle, rc,
pParent, nID, pContext);
}
解决方案 »
- 给TabControl控件发送消息,没有回应的问题!
- vc连接oracle异常信息:ORA 12154 TNS无法解析制定的连接标示符
- 初学多线程遇到的几个小问题?
- SendMessage();发不出消息,为什么?
- 无头绪...如何使窗口保持在桌面?!
- 满分求文件分析算法,高手点击!
- 在一个MDI程序中,如何在一个view中得到其他的view呢?
- 急问:如果我定义了多个SingleDocTemper,请问我如何在他们之间切换.急,如果会,我在加分
- 关于在VC中用EXCEL,SAVEAS的参数FILEFORMAT的问题
- 请问如何调整属性对话框弹出的位置
- 开发过RTC的进来聊聊
- 获得的打印页总数是9位数
http://www.vckbase.com/document/viewdoc.asp?id=931
那篇文章我看过,也知道IE 服务器窗口是几层窗口组成,只是
不明白是哪一层窗口在画border,我再去研究一下,谢谢!To jiangsheng(蒋晟.MSMVP2004Jan):
我在MSDN中查到
IDocHostUIHandler::GetHostInfo
Returns S_OK if successful, or an error value otherwise.
也许下面的东西就是我想要的
IDocHostUIHandler::SetHostFlags(DOCHOSTUIFLAG_NO3DBORDER)但是,我想问个笨笨的问题,在CHtmlCtrl里要如何调用IDocHostUIHandler::SetHostFlags呢?
我用的CHtmlCtrl是从CHtmlView派生.谢谢两位,问题解决后马上给分.
void CHtmlCtrl::OnDocumentComplete(LPCTSTR lpszURL)
{
IHTMLDocument2 *phtmldoc2 = NULL;
IHTMLElement *phtmlElement = NULL;
IDispatch *pdisp = NULL;
pdisp = this->GetHtmlDocument();
if (pdisp != NULL)
{
pdisp->QueryInterface(IID_IHTMLDocument2, (void**)&phtmldoc2);
pdisp->Release();
}
if (phtmldoc2 != NULL)
{
phtmldoc2->get_body(&phtmlElement);
phtmldoc2->Release();
}
if (phtmlElement != NULL)
{
IHTMLBodyElement *phtmlbody = NULL;
phtmlElement->QueryInterface(IID_IHTMLBodyElement, (void**)&phtmlbody);
if (phtmlbody != NULL)
{
phtmlbody->put_scroll(L"no");
phtmlbody->Release();
phtmlElement->Release();
}
}}
你的代码我加了,但我还是不明白这段代码怎么用?
和IDocHostUIHandler有什么关系吗?To jiangsheng(蒋晟.MSMVP2004Jan):
您的文章我看了,文章讲的是在程序中添加脚本支持.
虽然不是很明白这和去除CHtmlCtrl的边框有什么关系,
但我想和我的问题相关的是要使用CHtmlCtrl的高级宿主特性吧.我用的是VC7,我的程序也实现了脚本支持.
文章中的HRESULT FAR EXPORT CCustomControlSite::XDocHostUIHandler2::GetHostInfo( DOCHOSTUIINFO* pInfo )要放在CHtmlCtrl里吗?怎么用啊?
AfxEnableControlContainer?
Thank you!But it seem to too complex for change display style.Right now,display html file at my application have taken me several seconds,
if I add such thing as "AfxEnableControlContainer" and "CCustomControlSite",
my application should take more overload?Are there any more simply way to change the style,something like javascript in html?Are anybody have another suggestion?
Would you tell me how to use it?
Thank you very much!