CppWebBrowser隐藏的问题。

sw4419 2010-07-05 01:24:47
我在CppWebBrowser1NavigateError事件里隐藏CppWebBrowser,怎么不起作用呢?
void __fastcall TForm1::CppWebBrowser1NavigateError(TObject *Sender,
LPDISPATCH pDisp, Variant *URL, Variant *Frame, Variant *StatusCode,
VARIANT_BOOL *Cancel)
{
ShowMessage("页面不可访问");
CppWebBrowser->Visible=false;
*Cancel = true;
}


我想实现的效果,当出现CppWebBrowser定向到指定url出现错误的时候,就隐藏CppWebBrowser控件,该如何实现。
...全文
191 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sw4419 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ccrun 的回复:]
这个实在难理解。可曾调用CppWebBrowser的Navigate方法?
[/Quote]
确实调用了CppWebBrowser的Navigate方法,但内容仍然没有变化。
ccrun.com 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sw4419 的回复:]
一运行,就弹出那个CPU调试信息。
[/Quote]
检查你其他代码吧。和我4楼的代码无关。

[Quote=引用 7 楼 sw4419 的回复:]
另外,如何让CppWebBrowser1加载的url的内容强制刷新?
比如,开始CppWebBrowser1导航的url对应的文本内容“页面版本1”,当程序运行后,我将url页面的文本内容改为“页面版本2”。但在CppWebBrowser1中显示的内容仍然是“页面版本1”,该如何解决。谢谢
[/Quote]
这个实在难理解。可曾调用CppWebBrowser的Navigate方法?
sw4419 2010-07-05
  • 打赏
  • 举报
回复
一运行,就弹出那个CPU调试信息。
另外,如何让CppWebBrowser1加载的url的内容强制刷新?
比如,开始CppWebBrowser1导航的url对应的文本内容“页面版本1”,当程序运行后,我将url页面的文本内容改为“页面版本2”。但在CppWebBrowser1中显示的内容仍然是“页面版本1”,该如何解决。谢谢
ccrun.com 2010-07-05
  • 打赏
  • 举报
回复
下个断点,看哪一句出错了?我在Win7 + CB6下测试没有问题。
sw4419 2010-07-05
  • 打赏
  • 举报
回复
妖哥,运行会出错~
ccrun.com 2010-07-05
  • 打赏
  • 举报
回复
楼主自问自答,很好嘛。

回答你3楼的问题,还是用CppWebBrowser控件:
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
CppWebBrowser1->Navigate(L"about:blank");
}
//---------------------------------------------------------------------------
#include <mshtml.h>

BOOL __stdcall CrnSetHtmlContent(IHTMLDocument2 *spDoc, LPCTSTR lpText)
{
BOOL bResult(FALSE);

if (NULL == spDoc)
return bResult;

IStream *pStream;
IPersistStreamInit *psi;
int nLen = _tcslen(lpText);

HGLOBAL hHTMLText = ::GlobalAlloc(GPTR, nLen * sizeof(TCHAR) + 1);
if (NULL == hHTMLText)
return bResult;

::CopyMemory(hHTMLText, lpText, nLen * sizeof(TCHAR));
HRESULT hr = ::CreateStreamOnHGlobal(hHTMLText, true, &pStream);
if (SUCCEEDED(hr))
{
hr = spDoc->QueryInterface(IID_IPersistStreamInit, (void **)&psi);
if (SUCCEEDED(hr))
{
hr = psi->Load(pStream);

bResult = SUCCEEDED(hr);

psi->Release();
}
pStream->Release();
}
::GlobalFree(hHTMLText);

return bResult;
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString strXXX="kkkk<br>dddddd<h1>dddd</h1>";

while (CppWebBrowser1->Busy)
Application->ProcessMessages();

IHTMLDocument2 *spDoc = NULL;
HRESULT hr = CppWebBrowser1->Document->QueryInterface(
::IID_IHTMLDocument2, (void **)&spDoc);

if (SUCCEEDED(hr))
{
CrnSetHtmlContent(spDoc, strXXX.c_str());

spDoc->Release();
}
}
sw4419 2010-07-05
  • 打赏
  • 举报
回复
请教一个编码的问题,AnsiString strXXX="kkkk<br>dddddd<h1>dddd</h1>";
也就是说我的这个字符串是html代码,要使用什么控件,才能让显示的内容和html的内容一致呢,谢谢。
sw4419 2010-07-05
  • 打赏
  • 举报
回复
想到了,
CppWebBrowser->Show();
sw4419 2010-07-05
  • 打赏
  • 举报
回复
实验出,应该这样写:

CppWebBrowser->Hide();

但,被hide后的CppWebBrowser,该如何又让它显示出来呢?
这个是完整源码 java实现 大数据 Spark 可视化大屏+Kafka+SpringBoot+Vue3 【大数据毕业设计】基于Spark实时社交媒体舆情分析与趋势预测(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 源码+论文 完整版 数据库Mysql 随着微博、抖音、知乎、小红书等社交媒体平台的快速发展,网络舆情呈现出数据规模大、传播速度快、情绪演化复杂等特点。传统离线批处理方式难以满足舆情监测对时效性的要求,亟需构建一套能够支撑实时采集、流式计算、情感分析与趋势预测的综合系统。本文围绕“基于Spark实时社交媒体舆情分析与趋势预测”课题,设计并实现了一套前后端分离的舆情分析平台。系统后端采用Java语言与Spring Boot框架构建RESTful服务,结合JWT完成管理员身份认证与权限控制;数据处理层引入Spark思想的流式窗口统计与Kafka消息缓冲机制,对社交媒体帖文进行情感倾向识别、热度指数计算和按小时窗口聚合;趋势预测模块基于历史热度序列构建多元线性回归模型,输出未来窗口的热度预测值,并采用RMSE、MAE、MAPE等指标评价预测效果;前端采用Vue3、Vue Router、Pinia、Element Plus与ECharts实现管理后台与数据可视化大屏,支持帖文管理、话题管理、实时舆情查看、趋势对比和个人中心维护等功能。数据库选用MySQL,库名为db_social_opinion,核心业务表均以t_前缀命名,覆盖管理员、用户、平台、话题、帖文、实时统计、预测结果与误差指标等实体。测试结果表明,系统能够稳定完成舆情事件模拟、实时统计刷新与趋势预测展示,界面日期时间统一采用“2026-11-02 17:25:17”格式,满足本科毕业设计对完整性、规范性与可演示性的要求。本文工作对高校舆情教学实验、中小规模舆情监测系统原型开发具有一定

13,872

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧