内嵌浏览器如何显示进度条?

ron_cs 2010-04-22 03:08:37
如题?
...全文
301 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ron_cs 2010-04-29
  • 打赏
  • 举报
回复
感谢dyw和Atoric二位大侠的帮助.结贴给分.
ron_cs 2010-04-28
  • 打赏
  • 举报
回复
感谢Atoric大侠的回复.我之前是看UCWeb才有把进度条放在Cba区域绘制的想法,陷入了一个死胡同,毕竟只是个内嵌浏览器,没必要太复杂,当然能像UCWeb那样做更好,呵呵.
Atoric 2010-04-28
  • 打赏
  • 举报
回复
是不是可以这样实现,在获取到全部网页内容之前先把浏览器控件隐藏,菜单和CBA还是用系统默认的,进度条可以放在CBA上面,当进度条装载满后,显示浏览器的内容
ron_cs 2010-04-27
  • 打赏
  • 举报
回复
全屏自绘后可以实现进度条,但是又出现了新的问题,即:
1、如何实现菜单?如果利用在Cba区域绘制按钮的话,到时焦点可以移动到Cba区域,和传统的习惯相悖。如果自绘菜单区域的的话,焦点如何能移到菜单区域?
2、StatusPane,ToolBar的区域如何获得?其中CEikStatusPane中的Rect()好像是Protected,不能访问,我现在都用固定值,不利于移植。
再次感谢大侠们的回复,衷心希望再次得到你们的指点。
dyw 2010-04-26
  • 打赏
  • 举报
回复
全屏后,就可以自绘了...
ron_cs 2010-04-26
  • 打赏
  • 举报
回复
又出现新的问题了,如何在Cba或StatePane区域在绘制进度条呢?我自己写的两个法好像都无效.
1.
void SetProgressBar(TInt aValue)
{
iProgressBarValue=aValue;
DrawNow();
}

void Draw(const TRect& aRect) const
{
if(iProgressBarValue!=100)
{
CWindowGc& gc = SystemGc();

CEikButtonGroupContainer* cba = CEikonEnv::Static()->AppUiFactory()->Cba();
TRect cbaRect(cba->Rect());
TPoint point(cbaRect.Center());

TRect pbRect(TPoint(point.iX-50,point.iY-10),TSize(100,20));
gc.SetPenStyle(CGraphicsContext::ESolidPen);
gc.SetPenColor(KRgbGray);
gc.DrawRect(pbRect);

TRect overPBRect(TPoint(point.iX-50,point.iY-10),TSize(iProgressBarValue,20));
gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
gc.SetBrushColor(KRgbGray);
gc.DrawRect(overPBRect);
}

2.
void CShowCool::SetProgressBar(TInt aValue)
{
iProgressBarValue=aValue;
if(iProgressBarValue!=100)
{
CWindowGc& gc = SystemGc();

CEikButtonGroupContainer* cba = CEikonEnv::Static()->AppUiFactory()->Cba();
TRect cbaRect(cba->Rect());
TPoint point(cbaRect.Center());

TRect pbRect(TPoint(point.iX-50,point.iY-10),TSize(100,20));
gc.SetPenStyle(CGraphicsContext::ESolidPen);
gc.SetPenColor(KRgbGray);
gc.DrawRect(pbRect);

TRect overPBRect(TPoint(point.iX-50,point.iY-10),TSize(iProgressBarValue,20));
gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
gc.SetBrushColor(KRgbGray);
gc.DrawRect(overPBRect);

cba->DrawNow();
}
}
还望高人继续赐教,感谢.
ron_cs 2010-04-24
  • 打赏
  • 举报
回复
感谢dyw和Atoric的回复。后者的进度条好像是“假进度条”吧,如果这样实现的话,那每次是不是感觉都一样呢?不过也是一种思路,总比等了半天,然后突然蹦出个页面要好的多。再次感谢!
Atoric 2010-04-23
  • 打赏
  • 举报
回复
void CBrowserContainer::HandleBrowserLoadEventL(TBrCtlDefs::TBrCtlLoadEvent aLoadEvent,
TUint /*aSize*/,
TUint16 /*aTransactionId*/)
{
// 根据浏览器事件更新进度条
switch(aLoadEvent)
{
case TBrCtlDefs::EEventNewContentStart:
SetBrowserProgress(10);
break;
case TBrCtlDefs::EEventUrlLoadingStart:
SetBrowserProgress(40);
break;
case TBrCtlDefs::EEventNewUrlContentArrived:
case TBrCtlDefs::EEventNewContentDisplayed:
SetBrowserProgress(80);
break;
case TBrCtlDefs::EEventUrlLoadingFinished:
case TBrCtlDefs::EEventLoadFinished:
case TBrCtlDefs::EEventContentFinished:
SetBrowserProgress(100);
break;
default:
break;
}
}
dyw 2010-04-22
  • 打赏
  • 举报
回复
可实现MBrCtlLoadEventObserver接口,监听进度,然后自汇...
本软件为绿色免安装版 本软件是市面上唯一一款能实现通过自定义栏目和关键词来打造属于您自已的桌面新闻系统。信息来源涵盖了几乎所有财经时事娱乐体育等各类新闻网站和博客论坛贴吧微博。 本软件操作简单,运行速度快,采用多线程处理。 如果您是个股票投资者,肯定有过这样的经历,所关注的股票大涨大跌后才知道发生了什么事,有了本 软件以后,您可以迅速掌控您想关注的信息,最短时间内了解相关事情,协助您快速作出决策。此外,本软件还可以用作企业网上舆情监测工具。 本软件会自动过滤网上的重复报道,让您轻松掌控重要资讯。 本软件在打开网站页面时如果跳出360提醒信息,请选择允许并勾选以后不再提醒,即可避免再被干扰。 V4.1版作了以下修改: 新增了可以指定关键词或分类栏目采集信息,优化了新消息提示,微博采集和显示。 V4.0版作了以下修改: 增加了灵活的界面设置,可供股市交易者和其他新闻订阅者自行设置界面显示风格。增加了信息采集的来源,增加了微博采集界面。 V3.7-3.8版作了以下修改: 增加了导入导出关键词功能,优化了关键词管理。解决了有时页面出现乱码问题。 V3.6版作了以下修改: 1.点击手动采集新闻后,可以随时终止采集。虽然不终止也不影响您的操作,但有个进度条在哪毕竟看着烦哦。 V3.5版作了以下修改: 1.新增了快速打开和关闭证券交易系统功能,即使上班炒股也不会轻易被老板发现。 2.股市行情提供了多种来源选择,可以在系统设置中设置。 3.新消息提醒功能提供了关闭选项,可以随时关闭新消息提醒以免被打扰。 V3.2版作了以下修改: 1.美化了界面 2.集成了通达信的股市行情,极大地方便了用户查看股市走势。 V3.1版作了以下修改 1.完全放开了对自动采集新闻的时间间隔限制,用户可以自定义到最低1秒。 V3.0版作了以下修改 1.新闻详情页面改由系统默认浏览器打开,不再由本软件内浏览器打开。 2.大大压缩了软件运行时占用的内存,由原有动辄上百M,目前基本上控制在10M以下。 3.优化了线程处理。 V2.2版作了以下修改: 1.增加了新闻标题相似度设置,可以自行设置标题相似度达到一定程度的新闻或博客不再重复采集,从而避免大量的重复新闻。 2.纠正了新消息提示中双击空白处报错的问题。 3.纠正了多个线程同时采集时可能出现的报错和冲突现像。 V2.0版作了以下修改:
Redrain仿酷狗音乐播放器     这篇文章只是对开源的说明!关于这个Redrain音乐盒的发布程序的说明和使用方法,见《Redrain仿酷狗音乐播放器开发完毕,发布测试程序》。    今天,我把这个项目的源代码上传。包括了可以编译工程所需的所有代码文件,已经软件的布局文件,但是没有包括软件需要的素材,这也是为了避免引起与酷狗播放器的版权问题。        我在这个项目中使用的是 UiLib 库而不是 DuiLib 库,UiLib库是DuiLib库的扩展版本,增加了一些动画控件的支持,扩展了部分控件,但是核心代码并没有改变,与DuiLib使用方法完全一样,也可以用UiLib库直接编译使用 DuiLib 库编写的代码。项目中的 UiLib 是我为了适应仿酷狗而专门修改过的,也修复过必要的 bug,所以如果你使用原版的 DuiLib 或者 UiLib 库去编译这个功能,最终的程序效果和我发布的不一样。关于 bug的修复请看博客中更早期的文章。我自己使用并且维护的DuiLib库和UiLib库的下载地址见博客:《Redrain个人维护并使用的DuiLib和UiLib库源码下载地址》       在这个项目源码中,同时包含了webkit内核浏览器控件、音乐播放类、换肤功能、拖拽功能、菜单等等。这个菜单的功能如下:         1、可以展现多级菜单         2、可内自定义控件,并且控件可以向主窗体发送消息,如图的红色叹号就是个按钮控件,可以制作酷狗音乐的托盘菜单的播放暂停按钮和进度控制进度条。         3、菜单拥有阴影效果         4、菜单可以自定义前方显示小图标,并且可以控制图标的大小和是否显示         5、菜单可以根据是否拥有子菜单决定是否显示小箭头         6、菜单可以添加分割线         7、每个菜单项都可以单选和复选的功能         8、优化菜单的xml描述文件,编写方便容易,如果要写一个二级菜单,比如编写图片中的菜单测试4以及他的子菜单,只需如下代码就可以了         9、可以通过键盘的按钮控制菜单的选项         10、每个菜单项的高度宽度是任意调整的 在这个项目中,还有一些未实现的功能,但是我并不打算继续完成这些功能了:      1、退出程序时逐渐缩小的动画特效      2、各个菜单的响应      3、歌词功能(已经有网友做出来了,我就不另外做了)      4、入桌面的桌面歌词 注意 此项目开源代码只是为了学习交流,不可用于商业程序,源码对使用者造成的损失,概不负责! 源码下载地址:点击打开链接 via http://blog.csdn.net/zhuhongshu/article/details/41037875

3,119

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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