一.UI程序的基本类:
1 )应用类(Application)类:作为程序入口,通过实例化应用程序和启动文档类,来启动应用程序。它也设置应用程序的UID(各个应用程序的唯一标识符)。
2)应用程序文档类(Application document)类: 该类处理应用程序中非GUI数据-应用程序数据。它还实例化应用程序的UI类。
3) 应用程序视图(View)类:GUI根控件,该类实现主窗口,并充当其他应用程序控件的容器。
4)应用程序用户界面(UI)类:该类实例化应用程序View类,处理发自应用程序的命令;
二.在多视图切换中,一个view对应一个container
1)每个视图都必须拥有自己的容器,即Container。
2)AppUi必须从CAknViewAppUi派生。因为CAknViewAppUi提供了视图的注册、激活和取消激活的方法。
3)所有的视图必须到视图服务器上注册方能使用。
4)必须重写DoActiveL(激活)和DoDeactive(去激活)函数来处理从属的容器。
5)在任意时刻,只有一个视图处于激活状态。
6)每个视图都可以有自己的菜单。
三。在AppUi中,我们必须关注两个函数,即HandleCommandL()函数和HandleKeyEventL()函数(效果与OfferKeyEventL()相似)。
HandleCommandL() 处理菜单命令,用户响应菜单命令的代码就放在这个函数里。
HandleKeyEventL() 处理程序的按键事件。
四。自定义菜单以及菜单的响应
(1)appui.cpp中定义自己的菜单响应常量 ;
(2)到hrh文件中定义菜单常量的枚举值 ;
(3)到rss资源文件中定义菜单命令 ;
(4)到loc文件(也就是rls文件)中定义菜单显示名称 。
五。在rls中加入CHARACTER_SET UTF8可以防止中文显示乱码的出现。
六。CONE 8:程序退出的时候报这个错说明你没有释放资源。在编码时要很小心AddToStackL()与RemoveFromStackL()的配对使用。
AddToStackL(iAppContainer); //将Container推入到控件栈顶,例如可以接收键事件。这可以解决光标在显示但无法输入文字的问题。
七。将TBuf换成TDes:
首先在资源文件中定义了:
RESOURCE TBUF r_title_string
{
buf = "设置日期 ";
}
然后在cpp文件中使用copy函数:
TBuf<32> bufFirst;
bufFirst.Copy(*(StringLoader::LoadLC(R_TITLE_STRING)));
CleanupStack::PopAndDestroy();
八。rss文件中的系统资源定义的顺序不能随便调换,否则可能会出现USER 23的错误提示。User 23的具体情况可参考http://blog.csdn.net/Atoric/article/details/5539026,
可以知道‘LOCALISABLE_APP_INFO’这系统文件定义要小心对待。
九。在自定义cba控件后,可以设置其相应的动态菜单:
CEikMenuBar* pMenuBar=iEikonEnv->AppUiFactory()->MenuBar();
pMenuBar>SetMenuTitleResourceId(R_MAINVIEW_MENUBAR);
pMenuBar->TryDisplayMenuBarL();
十。资源中定义日期与时间控件
// DATE SETTING PAGE
RESOURCE AVKON_SETTING_PAGE r_date_setting_page
{
type = EEikCtDateEditor;
editor_resource_id = r_date_edwin;
}
RESOURCE DATE_EDITOR r_date_edwin
{
minDate=DATE{year=1989;};
maxDate=DATE{year=2108;};
}
// TIME SETTING PAGE
RESOURCE AVKON_SETTING_PAGE r_time_setting_page
{
type = EEikCtTimeEditor;
editor_resource_id = r_time_edwin;
}
RESOURCE TIME_EDITOR r_time_edwin
{
minTime = TIME
{
hour = 0;
minute = 0;
second = 0;
};
maxTime = TIME
{
hour = 23;
minute = 59;
second = 59;
};
}
十一.在rss资源文件中提示"Syntax error"的原因一般是关键字打错,例如打错了RESOURCE等。
分享到:
相关推荐
塞班开发 axure组件库 UI开发组件库 java手机开发组件库
symbian的ui程序框架,可以非常清晰地了解symbian的程序结构
本书是诺基亚与EMCC公司共同推出的一本Series 60开发的权威参考书,为Symbian OS下的C++编程提供全面指导。. 全书共13章,循序渐进地讲解了Symbian OS基础、Series 60 GUI应用程序设计基础、应用程序各种UI控件、...
SymbianOS概述 SymbianSDK及其开发环境 Symbian软件开发
2. Symbian开发入门第一步 3. S60v1.2 N-GAGE QD 开发环境搭建(VC6版) 4. S60十大优秀软件 5. S60 系统手机类型及所用操作系统 6. S60 和 Symbian OS 的关系 7. S40与S60的区别 8. 诺基亚S60手机隐藏代码 9...
symbian系统开发教程.....symbian系统开发教程
这是一套很好的symbian UI资料,你可以很好的学习symbian UI的技术,并且可以了解到UI的最新的技术内幕。欢迎大家下载
所有的S60 UI应用程序都具有一些基本功能: ◆提供一个用户界面,用于显示信息并允许用户进行交互 ◆响应各种用户启动的事件,比如用户选择一个菜单项 ◆响应系统启动的不同事件,比如导致屏幕重绘的window服务器...
symbian cpp ui ppt控制
symbian_开发环境搭建手册及简单示例
Symbian OS C++ 手机应用开发(第一卷)续3
Symbian S60开发环境搭建,本例子以VC6集成开发环境为例
详细介绍搭建Symbian系统开发环境,根据需求选择方法
symbian塞班软件开发工程师培训班实施方案.doc
建议开发童鞋使用跨平台开发工具——统一开发环境UDE来进行查看、调试、开发哦~~统一开发环境是一款HTML5跨平台一站式应用开发、调试和部署工具, 它支持HTML5跨平台开发,原有Java跨平台插件支持Android、Symbian、...
Nokia Symbian S60开发指南,非常好的指南
symbian s60开发环境搭建,相信此文件对大家会有帮助。 有问题可以回帖!
Symbian开发简介 搭建Symbian OS C++ 开发环境 Symbian手机应用开发过程
symbian开发例子(多) symbian开发例子(多) symbian开发例子(多)
塞班S60开发流程介绍.pdf