http://www.soft6.com/know/detail.asp?id=BCGEEI CPeriodic* iPeriodicTimer; iPeriodicTimer = CPeriodic::NewL( CActive::EPriorityStandard );//这条语句一般在ConstructL()中 void CGraphicsAppView::StartTimer()//开始启动时钟 { if ( !iPeriodicTimer->IsActive() ) {iPeriodicTimer->Start( 1, 1, TCallBack( CGraphicsAppView::Period, this ) );//TcallBack是一个方法回调函数,从使用来看,他只能回调类中的静态方法。 } } TInt CGraphicsAppView::Period( TAny* aPtr )//周期启动函数,注意,这是个静态函数,但static只在头文件中才做了申明。 { ( static_cast<CGraphicsAppView*>( aPtr ) )->DoPeriodTask(); return ETrue; } void CGraphicsAppView::DoPeriodTask()//周期真正在做的事情 { // Update the screen CWindowGc& gc = SystemGc(); gc.Activate( *DrawableWindow() ); UpdateDisplay();///////////////////这个函数是关键的关键 gc.Deactivate(); } void CGraphicsAppView::StopTiem()//停止时钟 { if ( iPeriodicTimer->IsActive() ) { iPeriodicTimer->Cancel();
HBufC* textResource; //两种字符串附值方法 textResource = StringLoader::LoadLC( R_HEWP_TIME_FORMAT_ERROR ); textResource =iEikonEnv->AllocReadResourceL(R_EXAMPLE_TEXT_HELLO); TBuf<32> timeAsText; timeAsText = *textResource; |
联系客服