欢迎来到天天文库
浏览记录
ID:15391810
大小:169.50 KB
页数:4页
时间:2018-08-03
《symbian 桌面悬浮物》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、桌面悬浮物作者版本修改日期备注林小果1.02009-12-2New一、概述桌面悬浮物,亦即在s60手机桌面显示自定义内容,可包括文字、图片甚至动画等;在桌面显示内容,很大程度上提高用户对程序的耦合性,也为用户提供良好的用户体验;图1.1桌面上显示天气预报效果图二、使用方式2、1头文件classCXXXAppView:publicCCoeControl{//二阶构造public:virtualvoidDraw(constTRect&aRect)const;virtualTKeyResponseOfferKeyEventL(constTKeyEvent&
2、aKeyEvent,TEventCodeaType);virtualvoidHandlePointerEventL(constTPointerEvent&aPointerEvent);voidTakeToDeskTop(TBoolflag);......private:RWindowGroupiWindowGroup;......};2、2实现文件voidCXXXAppView::ConstructL(constTRect&/*aRect*/){iWindowGroup=RWindowGroup(iCoeEnv->WsSession());User:
3、:LeaveIfError(iWindowGroup.Construct((TUint32)&iWindowGroup));iWindowGroup.SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront);iWindowGroup.EnableReceiptOfFocus(EFalse);CreateWindowL(&iWindowGroup);TRectaRect=CEikonEnv::Static()->EikAppUi()->ApplicationRect();TSizesize(aRect.Wid
4、th(),Float_win_height);aRect=TRect(TPoint(0,aRect.iBr.iY-(Float_win_height+Float_win_cba_height)),size);SetRect(aRect);Window().SetTransparencyFactor(0xff000000);ActivateL();}CXXXAppView::~CPCSDeskTopAppView(){iWindowGroup.Close();}voidCPCSDeskTopAppView::Draw(constTRect&aRect)
5、const{CWindowGc&gc=SystemGc();//绘制背景gc.SetBrushStyle(CGraphicsContext::ESolidBrush);TRgbrgb(KRgbGray);rgb.SetAlpha(100);gc.SetBrushColor(rgb);gc.SetPenColor(rgb);gc.DrawRect(aRect);//绘制内容,可通过gc绘制文字、图片等......}voidCXXXAppView::TakeToDeskTop(TBoolflag){if(flag){//桌面显示,将窗体显示优先级提高到E
6、CoeWinPriorityAlwaysAtFront+1iWindowGroup.SetOrdinalPosition(1,ECoeWinPriorityAlwaysAtFront+1);}else{//桌面不显示,,窗体显示优先级为ECoeWinPriorityNeverAtFrontiWindowGroup.SetOrdinalPosition(-1,ECoeWinPriorityNeverAtFront);}}2、3事件切换以及调用窗体显示在xxxappui.cpp中构造CXXXAppView并压入系统控件栈iXXXAppView=CXXXA
7、ppView::NewL(aRect);AddToStackL(iXXXAppView);同时开始监听程序焦点切换事件RWindowGroup&wg=iEikonEnv->RootWin();wg.EnableFocusChangeEvents();若有程序焦点切换事件则调用以下接口voidCXXXAppUi::HandleWsEventL(constTWsEvent&aEvent,CCoeControl*aDestination){constTUidKUidIdleApp={0x101FD64C};//forS603rdconstTUidKUidS
8、elfApp={0xE1ADCADA};if(aEvent.Type()==EEventFocusGroup
此文档下载收益归作者所有