社区
Symbian
帖子详情
内嵌浏览器如何显示进度条?
ron_cs
2010-04-22 03:08:37
如题?
...全文
303
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接口,监听进度,然后自汇...
Embedded Browser v1.0.2 ( Unity
内嵌
浏览器
插件 )
《Unity
内嵌
浏览器
插件——实现游戏与网页的无缝融合》 Unity,作为一款强大的跨平台游戏开发引擎,被广泛应用于各种游戏和交互式应用的制作。然而,有时候我们需要在Unity游戏中集成网页浏览功能,例如展示帮助...
在状态条中
显示
进度条
,WebBrowser示例
在网页浏览体验中,有时需要向用户展示加载过程或任务执行进度,这通常通过在状态条中
显示
进度条
来实现。本示例将探讨如何在WebBrowser控件中实现这一功能,这对于开发嵌入式
浏览器
或者自定义
浏览器
控件的应用程序至...
APP内置IM 系统——从入门到千万级在线
IM (即时通讯)系统是一种大型实时系统,其对技术方面的要求非常高。在APP社交化的今天,很多APP都希望为自己的应用增加IM系统,但却不得其法。本课程抽丝剥茧,搭建一套简IM 系统,先让开发者了解如何实现这类系统...
安卓
浏览器
WebViewJSHTML5相关-Android下读取网页
显示
进度条
.rar
在这个"安卓
浏览器
WebViewJSHTML5相关-Android下读取网页
显示
进度条
.rar"的压缩包中,我们可以探讨以下几个关键知识点: 1. **WebView的基本使用**:在Android中,WebView通过`import android.webkit.WebView`引入...
Android高级应用源码-Android下读取网页,
显示
进度条
.zip
Android中的`WebView`是用于在应用程序内部展示网页内容的组件,它允许开发者在App中
内嵌
网页,无需跳转到
浏览器
。通过`WebView.loadUrl()`方法可以加载指定URL的网页,而`WebView.setWebViewClient()`则可以设置一...
Symbian
3,119
社区成员
9,183
社区内容
发帖
与我相关
我的任务
Symbian
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
复制链接
扫一扫
分享
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章