Microsoft Web 浏览器(CHtmlView) 控键的遍框处理问题!(在线等。。肯定给分!) 该控键的默认边框是凹进去的那种(3D的)能否改成平面的或没有边框的?请赐教~~~ 能解决问题肯定给分! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是 MDI 应用,请在 CChildFrame 中对 WM_CREATE 消息进行处理,加上以下行:ModifyStyleEx(WS_EX_CLIENTEDGE, 0);其他情况类似。 不能解决我是用 Dialog Base 来建立的工程。 里面放上了 Microsoft Web Browser 控键。我现在是想改这个控键的边框(运行时,加载完网页之后变成凹进去的3D边框) 方法1 把网页的BODY的SCROLL属性设置成NO方法2 重载MFC的控件站点以实现IDocHostUIHandler接口的GetHostInfo方法。 有人捷足先登了。楼上的观点正确。稍微详细一些:需要将 DOCHOSTUIINFO 结构中的 dwFlags 成员中置入 DOCHOSTUIFLAG_NO3DBORDER。请参看 MSDN 中有关 IDocHostUIHandler 接口的 GetHostInfo 方法的内容。 上面这些方法都不行(在网页加载之后边框会变成3维的凹进去的样子)你们试过没有?只能自己写出像CHtmlView那样的东西出来才能解决 你对IDocHostUIHandler::GetHostInfo的实现被调用过了? eric1113 说得有点道理。VC 6 里的 CHtmlView 类没有对 IDocHostUIHandler 接口进行支持,要通过该类实现此功能需要从他派生自己的类,而且还要做许多其他工作。况且,现在的情况是在对话框上的控件,CHtmlView 类还不太适用。为了解决此问题,我特意写了一个类,名为 CFlatWBHandler,用法很简单,假设你的对话框上的 WebBrowser 控件对应的变量名为 m_webNavigator,则需要以下两步:1、向对话框类中添加 CFlatWBHandler m_flatHandler;2、在对话框的 OnInitDialog 函数中加入以下代码: LPUNKNOWN pUnk = m_webNavigator.GetControlUnknown(); if(pUnk != NULL) { IWebBrowser2* pWB2 = NULL; HRESULT hr = pUnk->QueryInterface(IID_IWebBrowser2, (void**)&pWB2); if(SUCCEEDED(hr) && pWB2 != NULL) { m_flatHandler.SetWebBrowser(pWB2); pWB2->Release(); } }我已经测试通过。需要代码请和我联系。并且,嘻嘻,我鼓捣了一下午,这个问题的分数好像不应该只值 20 哦! 用VC7的CHTMLView或者重载MFC的控件站点以实现IDocHostUIHandler接口的GetHostInfo MFC窗口布局的问题 如何实现CTRL+ENTER组合键(类似于QQ发消息的快捷键) 数据库作为数据源,并使用多文档的框架,怎样处理才是上策? 窗口的再次分割 安装包怎么做? 请教用VC写DLL在VB中调用的问题 zangyong(晶晶)进来结贴拿分 mfc深入浅出问题 连续两次调用CreateFile打开USB设备,第二次失败 如何让INT类型变成4个字节的字符串 请教一个显示及设置时间日期的问题(急!) 如何使一个按钮可以打开记事本呢
ModifyStyleEx(WS_EX_CLIENTEDGE, 0);
其他情况类似。
我现在是想改这个控键的边框(运行时,加载完网页之后变成凹进去的3D边框)
方法2 重载MFC的控件站点以实现IDocHostUIHandler接口的GetHostInfo方法。
你们试过没有?
只能自己写出像CHtmlView那样的东西出来才能解决
用法很简单,假设你的对话框上的 WebBrowser 控件对应的变量名为 m_webNavigator,则需要以下两步:
1、向对话框类中添加 CFlatWBHandler m_flatHandler;
2、在对话框的 OnInitDialog 函数中加入以下代码:
LPUNKNOWN pUnk = m_webNavigator.GetControlUnknown();
if(pUnk != NULL)
{
IWebBrowser2* pWB2 = NULL;
HRESULT hr = pUnk->QueryInterface(IID_IWebBrowser2, (void**)&pWB2);
if(SUCCEEDED(hr) && pWB2 != NULL)
{
m_flatHandler.SetWebBrowser(pWB2);
pWB2->Release();
}
}我已经测试通过。需要代码请和我联系。并且,嘻嘻,我鼓捣了一下午,这个问题的分数好像不应该只值 20 哦!