Chinaunix首页 | 论坛 | 博客
  • 博客访问: 344099
  • 博文数量: 42
  • 博客积分: 1896
  • 博客等级: 上尉
  • 技术积分: 615
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-19 14:47
文章分类

全部博文(42)

文章存档

2012年(1)

2011年(21)

2010年(16)

2009年(4)

分类: C/C++

2010-06-11 17:10:33

*.rss文件 应用程序UI组件使用的资源源文件
*_reg.rss文件 注册使用的资源源文件
*.hrh文件 用于定义枚举的资源头文件
*.rls文件 用于管理应用程序UI文本字符串的本地化文件

可以使用以下的C++预编译指令:
  • #define

  • #include

  • #ifdef

  • #ifndef

  • #if

  • #else

  • #endif

    一般,resource(*.rss)文件会include以下头文件:

  • appinfo.rh

  • avkon.rh

  • avkon.rsg

  • eikon.rh


    语法:

    RESOURCE | | { }

  •  资源头文件声明的结构体名

    必须大写

  • resource_name 资源名称

    resource_name 必须小写(编译的时候C++自动将其转换成大写).

  • resource-initialiser-list 初始化结构体中没有默认值的成员


    如果定义了NAME变量(值为应用程序唯一),则它的定义语句必须出现在resource文件的开始,而且必须紧跟着以下的定义语句:

  • RESOURCE RSS_SIGNATURE

  • RESOURCE TBUF

  • RESOURCE TBUF RESOURCE EIK_APP_INFO

    RSS_SIGNATURE 用于定义资源文件的版本号,RESOURCE RSS_SIGNATURE { signature = value },signature是LONG类型,默认值为0,如果使用默认值就定义一个空的结构体。

    TBUF 定义一个被doucument类的StoreL和RestoreL方法使用的文件名,如果不需要调用这两个函数,则可以定义空结构。

    RESOURCE TBUF { buf="NAME"; } // 一般buf值和NAME一致

    TBUF在abdef.h中声明(被包含在uikon.h中)

    EIK_APP_INFO 定义一个在应用程序UI使用的对象,不是所有成员都需要定义,参考语法:

    RESOURCE EIK_APP_INFO 

    menubar = value2; 

    cba = value5; 

    status_pane = value6; 

    }

  • menubar 定义menubar资源

  • cba 定义softkeys资源

  • status_pane 定义status pane资源

    成员的值应该是在recource文件或者recource文件包含的.rsg文件中定义,未被顶义的成员不要使用。

    (包含在appinfo.rh)

    RESOURCE LOCALISABLE_APP_INFO r_name36 

     { 

     short_caption = ""; //标题缩写,显示长度不够时使用

     CAPTION_AND_ICON_INFO 

     { 

     caption = "";  // 完整标题

     number_of_icons =0; //菜单使用的icon数目

     icon_file = ""; //icon文件(包含路径但是不含盘符)

     }; 

     view_list[]; // VIEW_DATA 

     group_name(KAppMaxGroupName) = ""; 

     }


    *_reg.rss文件包含以下内容

    UID2 KUidAppRegistrationResourceFile (都是相同的值)

    UID3

    RESOURCE  APP_REGISTRATION_INFO
    	{
    	app_file = ""; //应用程式可执行文件名字,不包含扩展名
    	attributes = 0;
    	localisable_resource_file = ""; // 程序本地化资源的文件路径和名称(不包含盘符)
    	localisable_resource_id = r_name36; //在.rss文件中定义的LOCALISABLE_APP_INFO结构
    	hidden = KAppNotHidden;
    	embeddability = KAppNotEmbeddable;//程序是否可嵌入
    	newfile = KAppDoesNotSupportNewFile;//说明程序是否给予文档以及是否支持新建文件(KAppDoesNotSupportNewFile默认值)
    	launch = KAppLaunchInForeground;
    	group_name(KAppMaxGroupName) = "";
    	default_screen_number = 0;
    	datatype_list[]; // SUPPORTED DATATYPES
    	file_ownership_list[]; // FILE_OWNERSHIP_INFO
    	service_list[]; // SERVICE_INFO
    	opaque_data = 0;	// use for opaque data to send to non-native application launchers i.e. MIDlet id
    	}
    *.hrh文件主要用于定义枚举,
  • 自定义的command IDs

  • 允许在C++代码引用dialog控制dialogs的control IDs

  • Application view IDs. Note that these could also be enumerated in the header files for the views.

  • IDs for other resource structures, such as for TABS in the status pane.

  • #include 
    #include 
    这两个文件包含了.rss文件使用的很多struct的定义
    #include  
    包含一些编译过的resources的IDs。
    #include 
    包含_reg.rss文件需要的和注册相关的struct。


    详细资料:
    C++ Developer's Library 1.4 -> Application Framework -> Managing resouce files
    S60 5th Edition C++ Developer's Library -> Symbian Developer's Library v9.4 ->Symbian OS v9.4 -> Symbian OS Tools And Utilities -> Application resource tools reference

  • 阅读(1029) | 评论(0) | 转发(0) |
    0

    上一篇:S60基本程序框架

    下一篇:Qt Creator快捷键

    给主人留下些什么吧!~~