[Symbian项目进展]网络流量曲线图,代码+效果图
2006-12-04 10:30
465 查看
效果图如下:
![](http://www.cnblogs.com/images/cnblogs_com/jason-jiang/78034/o_Firewall-flow.jpg)
实现方法:
1、创建一个计时器,请将其打开
2、写计时器活动对象的回调函数,在回调函数中刷新屏幕
实现代码如下:
创建计时器活动对象并且打开定时器:
iPeriodicTimer = CPeriodic::NewL( CActive::EPriorityStandard );//创建活动对象
StartTimer();//打开定时器
打开定时器代码:
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
if ( !iPeriodicTimer->IsActive() )
2
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
3
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
iPeriodicTimer->Start( 1, 1000000,
4
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TCallBack( CFirewallContainerState::Period, this ) );
5
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
6
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
第3行中的1000000是将频率设置成1秒,单位是毫秒
回调函数Period()代码:
1 TInt CFirewallContainerState::Period( TAny* aPtr)
2 {
3 ( static_cast<CFirewallContainerState*>( aPtr ) )->DoPeriodTask();
4 return ETrue;
5 }
6
DoPeriodTask()函数代码:
1 void CFirewallContainerState::DoPeriodTask()
2 {
3
4 for ( TInt count = 0;count < iPointSet.Count();count++ )
5 {
6 iPointSet[count]->iX += 4;
7 }
8 if(iPointSet.Count() > 100)
9 {
10 iPointSet.Reset() ;
11 }
12 TRect rect = Rect();
13 TInt y = GetRandY( rect.iBr.iY / 2 );
14 //设置曲线的Y值的最大值
15 TPoint* p = new(ELeave)TPoint(0,y);
16 iPointSet.Append(p);
17
18 // Update the screen
19 CWindowGc& gc = SystemGc();
20 gc.Activate( *DrawableWindow() );
21 UpdateDisplay();
22 gc.Deactivate();
23 }
24
刷屏函数UpdateDispaly()代码:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
void CFirewallContainerState::UpdateDisplay() const
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CWindowGc& gc = SystemGc();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.Clear();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenStyle( CGraphicsContext::ENullPen );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetBrushColor( KRgbBlack );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TRect rect = TRect(Rect().iTl.iX, Rect().iTl.iY, Rect().iBr.iX, Rect().iBr.iY / 2);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawRect(rect);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TSize PenSize(1,1);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenSize(PenSize);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenColor(KRgbGreen);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenStyle(CGraphicsContext::ESolidPen);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TInt RowCount = rect.iBr.iY / KRowWidth + 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TInt ColCount = rect.iBr.iX / KColWidth + 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//画横线
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for(TInt count = 0; count < RowCount; count++)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint p1(0,count*KRowWidth);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint p2(rect.iBr.iX,count*KRowWidth);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawLine(p1,p2);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//画最下面的横线
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint pBl(rect.iTl.iX,rect.iBr.iY);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint pBr(rect.iBr.iX,rect.iBr.iY);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawLine(pBl,pBr);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//画竖线
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for(TInt count = 0; count < ColCount; count++)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint p1(count*KColWidth,0);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint p2(count*KColWidth,rect.iBr.iY);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawLine(p1,p2);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//画右边的竖线
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint pTr(rect.iBr.iX, rect.iTl.iY);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawLine(pTr, pBr);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//画曲线
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenColor(KRgbYellow);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TInt count ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for(count=0;count < iPointSet.Count()-1;count++)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawLine(*iPointSet[count],*iPointSet[count+1]);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (iPointSet.Count() == 100) count = 0 ;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//显示状态信息
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//显示当前流量信息
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenColor(KRgbBlack);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.UseFont( iCoeEnv->NormalFont() );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenColor(KRgbBlack);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TName msgCurrStorm ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CEikonEnv::Static()->ReadResource(msgCurrStorm , R_STR_MSG_STATE_CURRENT_FLOW );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (iPointSet.Count() > 0)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
msgCurrStorm.AppendNum(Rect().iBr.iY / 2 - iPointSet[count]->iY) ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
msgCurrStorm.Append(_L(" KB")) ;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//将当前点的纵坐标作为模拟流量值显示
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawText( msgCurrStorm, TPoint(Rect().iTl.iX + 10,Rect().iBr.iY / 2 + 30)) ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//判断是否设置了实时监控功能
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TName msgRealtime ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (iUi->iSettingData->iIsRealtime)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CEikonEnv::Static()->ReadResource(msgRealtime , R_STR_MSG_STATE_REALTIME_ON );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CEikonEnv::Static()->ReadResource(msgRealtime , R_STR_MSG_STATE_REALTIME_OFF );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawText( msgRealtime, TPoint(Rect().iTl.iX + 10,Rect().iBr.iY / 2 + 60)) ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//无规则匹配时,默认的动作
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TName msgDefaultaction ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
// gc.UseFont( iCoeEnv->NormalFont() );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
switch (iUi->iSettingData->iDefaultAction)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case 0:
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CEikonEnv::Static()->ReadResource(msgDefaultaction , R_STR_MSG_STATE_DEFAULTACTION_0 );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case 1:
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CEikonEnv::Static()->ReadResource(msgDefaultaction , R_STR_MSG_STATE_DEFAULTACTION_1 );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case 2:
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CEikonEnv::Static()->ReadResource(msgDefaultaction , R_STR_MSG_STATE_DEFAULTACTION_2 );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
default:
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break ;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawText( msgDefaultaction, TPoint(Rect().iTl.iX + 10,Rect().iBr.iY / 2 + 90)) ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/images/cnblogs_com/jason-jiang/78034/o_Firewall-flow.jpg)
实现方法:
1、创建一个计时器,请将其打开
2、写计时器活动对象的回调函数,在回调函数中刷新屏幕
实现代码如下:
创建计时器活动对象并且打开定时器:
iPeriodicTimer = CPeriodic::NewL( CActive::EPriorityStandard );//创建活动对象
StartTimer();//打开定时器
打开定时器代码:
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
if ( !iPeriodicTimer->IsActive() )
2
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
3
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
iPeriodicTimer->Start( 1, 1000000,
4
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TCallBack( CFirewallContainerState::Period, this ) );
5
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
6
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
第3行中的1000000是将频率设置成1秒,单位是毫秒
回调函数Period()代码:
1 TInt CFirewallContainerState::Period( TAny* aPtr)
2 {
3 ( static_cast<CFirewallContainerState*>( aPtr ) )->DoPeriodTask();
4 return ETrue;
5 }
6
DoPeriodTask()函数代码:
1 void CFirewallContainerState::DoPeriodTask()
2 {
3
4 for ( TInt count = 0;count < iPointSet.Count();count++ )
5 {
6 iPointSet[count]->iX += 4;
7 }
8 if(iPointSet.Count() > 100)
9 {
10 iPointSet.Reset() ;
11 }
12 TRect rect = Rect();
13 TInt y = GetRandY( rect.iBr.iY / 2 );
14 //设置曲线的Y值的最大值
15 TPoint* p = new(ELeave)TPoint(0,y);
16 iPointSet.Append(p);
17
18 // Update the screen
19 CWindowGc& gc = SystemGc();
20 gc.Activate( *DrawableWindow() );
21 UpdateDisplay();
22 gc.Deactivate();
23 }
24
刷屏函数UpdateDispaly()代码:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
void CFirewallContainerState::UpdateDisplay() const
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CWindowGc& gc = SystemGc();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.Clear();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenStyle( CGraphicsContext::ENullPen );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetBrushColor( KRgbBlack );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TRect rect = TRect(Rect().iTl.iX, Rect().iTl.iY, Rect().iBr.iX, Rect().iBr.iY / 2);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawRect(rect);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TSize PenSize(1,1);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenSize(PenSize);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenColor(KRgbGreen);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenStyle(CGraphicsContext::ESolidPen);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TInt RowCount = rect.iBr.iY / KRowWidth + 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TInt ColCount = rect.iBr.iX / KColWidth + 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//画横线
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for(TInt count = 0; count < RowCount; count++)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint p1(0,count*KRowWidth);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint p2(rect.iBr.iX,count*KRowWidth);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawLine(p1,p2);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//画最下面的横线
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint pBl(rect.iTl.iX,rect.iBr.iY);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint pBr(rect.iBr.iX,rect.iBr.iY);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawLine(pBl,pBr);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//画竖线
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for(TInt count = 0; count < ColCount; count++)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint p1(count*KColWidth,0);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint p2(count*KColWidth,rect.iBr.iY);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawLine(p1,p2);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//画右边的竖线
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TPoint pTr(rect.iBr.iX, rect.iTl.iY);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawLine(pTr, pBr);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//画曲线
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenColor(KRgbYellow);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TInt count ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for(count=0;count < iPointSet.Count()-1;count++)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawLine(*iPointSet[count],*iPointSet[count+1]);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (iPointSet.Count() == 100) count = 0 ;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//显示状态信息
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//显示当前流量信息
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenColor(KRgbBlack);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.UseFont( iCoeEnv->NormalFont() );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.SetPenColor(KRgbBlack);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TName msgCurrStorm ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CEikonEnv::Static()->ReadResource(msgCurrStorm , R_STR_MSG_STATE_CURRENT_FLOW );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (iPointSet.Count() > 0)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
msgCurrStorm.AppendNum(Rect().iBr.iY / 2 - iPointSet[count]->iY) ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
msgCurrStorm.Append(_L(" KB")) ;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//将当前点的纵坐标作为模拟流量值显示
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawText( msgCurrStorm, TPoint(Rect().iTl.iX + 10,Rect().iBr.iY / 2 + 30)) ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//判断是否设置了实时监控功能
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TName msgRealtime ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (iUi->iSettingData->iIsRealtime)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CEikonEnv::Static()->ReadResource(msgRealtime , R_STR_MSG_STATE_REALTIME_ON );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CEikonEnv::Static()->ReadResource(msgRealtime , R_STR_MSG_STATE_REALTIME_OFF );
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawText( msgRealtime, TPoint(Rect().iTl.iX + 10,Rect().iBr.iY / 2 + 60)) ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//无规则匹配时,默认的动作
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TName msgDefaultaction ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
// gc.UseFont( iCoeEnv->NormalFont() );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
switch (iUi->iSettingData->iDefaultAction)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case 0:
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CEikonEnv::Static()->ReadResource(msgDefaultaction , R_STR_MSG_STATE_DEFAULTACTION_0 );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case 1:
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CEikonEnv::Static()->ReadResource(msgDefaultaction , R_STR_MSG_STATE_DEFAULTACTION_1 );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
case 2:
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CEikonEnv::Static()->ReadResource(msgDefaultaction , R_STR_MSG_STATE_DEFAULTACTION_2 );
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
default:
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
break ;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
gc.DrawText( msgDefaultaction, TPoint(Rect().iTl.iX + 10,Rect().iBr.iY / 2 + 90)) ;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
相关文章推荐
- Symbian项目进展]网络流量曲线图,代码+效果图
- [Symbian项目进展]网络流量曲线图,代码+效果图
- [Symbian项目进展]网络流量曲线图,代码+效果图
- 网络流量曲线图,代码+效果图
- 网络流量曲线图代码
- [Symbian项目进展]防火墙日志模块的开发,附关键代码
- 网络流量曲线图代码
- [Symbian项目进展]怎样在S60指示面板上画图标,原代码+示意图
- [Symbian项目进展]系统设置搞掂 :) 把相关代码贴出来
- Java web项目 在线网络考试管理员登陆部分代码
- [Symbian项目进展]KERN-EXEC 3的错误经历
- 一文概览图卷积网络基本结构和最新进展(附视频&代码)
- 一文概览图卷积网络基本结构和最新进展(附视频&代码)
- Java web项目 在线网络考试添加管理员部分代码
- 验证码效果(代码有微调,附本人cc_团购项目中效果图)
- [Symbian项目进展]thumb/armi build error, many "undefined reference to" errors.
- 网络应用系统---系统设计架构个人项目实战示例(各种页面代码A)
- Java web项目 在线网络考试修改考套题部分代码
- 对于在网络上请教项目代码问题
- [置顶] 对AFN 进行进一步封装,再应用于具体的项目,这样可以将业务逻辑代码与网络框架进行解耦