Helloworldbasic.rss 浅析
2010-03-09 10:21
302 查看
/*
* ==============================================================================
* Name : Helloworldbasic.rss
* Part of : Helloworldbasic
* Description : 这里只是在讲RSS这个文件
* Author :宝杰
* ==============================================================================
*/
进入今天的正题,以前我们看的代码都是系统默认的工程的,今天我们来看一个s60的例子,如何导入这个工程呢?我一步一步说明。
需求:Carbide c++ V2.0
+ Symbian SDK 9.2版本
;
导入:打开carbide c++ -> file -> import ->Symbian OS bld.inf file -> next -> 选择你的路径,我的SDK安装在E,路径如:: E:/Symbian/9.2/S60_3rd_FP1/S60Ex/HelloWorldBasic/group ->选择bld.inf
一路Next就可以了;
运行:按照上一节讲得快速调试方法,你可以建一个DLL的工程,方便调试;
接下来进入今天的正题,我们一起学习RSS文件,高手可以路过,我这就是当自己的读书笔记的。
// RESOURCE IDENTIFIER
NAME
HEWB
// 4
letter ID
在Include前居然还有这么一行,感觉和宏一般,看如下的解释
在 .rss资源文件
中,可以使用以下这些语句:
接下来是一堆Include 我们只要关心“ ”起来的部分就可以;
// INCLUDES
#include
<eikon.rh>
#include
<avkon.rh>
#include
<avkon.rsg>
#include
<appinfo.rh>
#include
"HelloWorldBasic.hrh"
#include
"HelloWorldBasic.rls"
这样我们就来看Sc++文件系统
bld.inf Build描述文件 //刚才导入的文件,我觉得是代表这个工程
.mmp 项目文件
.cpp 源文件 //熟悉
.h 头文件
.rhr 资源头文件
//上面有用到这个文件的类型,是一个头文件,在资源类中需要调用,
//这样以后用资 源类就可以包含头文件就可以了
.rss 资源定义文件 //今天学习的文件
.rls 字符串文件 //常量初始化文件,前几节讲过这个文件
.svg 矢量图文件
.mpm 位图文件
.pkg 打包文件 //发布程序SIS用到,这个证书申请本人正在学习
我觉得这两段代码不需要过多解释,读者可以自己看懂。
// RESOURCE DEFINITIONS
//
-----------------------------------------------------------------------------
//
// Define the resource file signature
// This resource should be empty.
//
//
-----------------------------------------------------------------------------
//
RESOURCE RSS_SIGNATURE
{
}
//
-----------------------------------------------------------------------------
//
// Default Document Name
//
//
-----------------------------------------------------------------------------
//
RESOURCE TBUF
r_default_document_name
{
buf=
"HEWB"
;
}
这段代码就有味道了,EIK_APP_INFO 自己查看帮助,知道是在是用来定义很多如
menus, toolbars, status pane, toolbar, toolband, CBA (Control Button Array) and
hotkeys的资源
//
-----------------------------------------------------------------------------
//
// Define default menu and CBA key.
//
//
-----------------------------------------------------------------------------
//
RESOURCE EIK_APP_INFO
{
menubar = r_helloworldbasic_menubar;
cba =
R_AVKON_SOFTKEYS_OPTIONS_EXIT
;
}
那么我们的默认工程也是这样定义Menu的吗? 去看看去,果然如此,接下来也就顺理成章的定义Menu_Bar
//
-----------------------------------------------------------------------------
//
// r_menubar
// Main menubar
//
//
-----------------------------------------------------------------------------
//
RESOURCE MENU_BAR r_menubar
{
titles =
{
MENU_TITLE { menu_pane = r_menu; }
//这里只是定义了一个Pane,感觉和Java的Panel差不多,也许一个Menu_bar上可以替换多个Pane吧,现//在去查证下,似乎没法解决,希望高手路过解释下,今天老大没来上班
};
}
定义好了Menu_bar,就是定义了Menu_Pane,那么接下来定义的Pane我们似乎很熟悉吧,之前已经学习过,今天就可以跳过了
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
// -----------------------------------------------------------------------------
//
// r_helloworldbasic_menu
// Menu for "Options"
//
//
-----------------------------------------------------------------------------
//
RESOURCE MENU_PANE
r_helloworldbasic_menu
{
items =
{
// added the new Options menu command here
MENU_ITEM
{
command =
EHelloWorldBasicCommand1;
txt = STRING_r_hewb_command1;
},
MENU_ITEM
{
command =
EHelloWorldBasicCommand2;
txt = STRING_r_hewb_command2;
},
MENU_ITEM
{
command =
EHelloWorldBasicCommand3;
txt = STRING_r_hewb_command3;
},
MENU_ITEM
{
command = EAknSoftkeyExit;
txt = STRING_r_hewb_exit;
}
};
}
细心的读者可能发现,默认的工程中的TXT参数可都是红的啊,今天怎么变了了,自己查看默认工程,点击Txt红色文字(同时按住 Ctrl),发现跳转到了.rls文件,很多#defined,而今天我们的文件中有很多rls,每个中都有定义我们的这些变量常值。可是都不是用#defined,使用RLS_String,查看每个文件,相信读者都会明白是不同语言的定义,之后我们还看到一个rls文件,打开,看到:
/ / 自己查看注释相信不难理解意思。
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
// LOCALISATION STRINGS
#ifdef
LANGUAGE_SC
#include
"helloworldbasic_01.rls"
// default U.K. English
#elif
defined LANGUAGE_01
#include
"helloworldbasic_01.rls"
// U.K. English
#elif
defined LANGUAGE_09
#include
"helloworldbasic_09.rls"
// Finnish
#elif
defined LANGUAGE_31
#include
"helloworldbasic_31.rls"
// PRC Chinese
#elif
defined LANGUAGE_32
#include
"helloworldbasic_32.rls"
// Japanese
#endif
至于这个文件如何工作,等我查到了再不上,见谅。
回过头来,我们看RSS文件,接下来就是内容字符串的定义,请允许我这么叫,感觉我更能记忆
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
//
-----------------------------------------------------------------------------
//
// Resources for messages.
//
//
-----------------------------------------------------------------------------
//
RESOURCE TBUF32
r_hewb_command1_text { buf=STRING_r_hewb_command1_text; }
RESOURCE TBUF32
r_hewb_file_text { buf=STRING_r_hewb_file_text; }
RESOURCE TBUF32
r_hewb_caption_string { buf=STRING_r_hewb_caption_string; }
r_hewb_command1_text等这些常量我们在真正的程序中用到,这个是给这个变量初始化赋值;
下面这段代码定义LOCALISABLE_APP_INFO
//
----------------------------------------------------------------------------
//
//
r_helloworldbasic_localisable_app_info
//
//
----------------------------------------------------------------------------
//
RESOURCE LOCALISABLE_APP_INFO r_helloworldbasic_localisable_app_info
{
short_caption =
STRING_r_hewb_caption_string;
caption_and_icon =
CAPTION_AND_ICON_INFO
{
caption = STRING_r_hewb_caption_string;
number_of_icons = 1;
icon_file =
"//resource//apps//Helloworldbasic_aif.mif"
;
};
}
查看帮助知道
Unlike most resource files, because there is only one resource
defined in the
file, it does not need to include a four character
or an
resource, and the
resource does not need an ID
.
帮助代码如下
RESOURCE LOCALISABLE_APP_INFO
{
short_caption =
STRING_r_short_caption;
caption_and_icon
=
{
CAPTION_AND_ICON_INFO
{
caption
= STRING_r_caption;
number_of_icons = 3; // each icon must be a
bitmap/mask pair
icon_file =
STRING_r_icon_file;
}
};
}
对于以上的资源命名习惯个人觉得有时间可以多加研究。
最后,资源定义了r_dialog_text_edit_query,调试代码发现有个文本输入框,应该就是这个
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
//
----------------------------------------------------------------------------
//
// r_dialog_text_edit_query
//
// ----------------------------------------------------------------------------
//
RESOURCE DIALOG
r_dialog_text_edit_query
{
flags =
EGeneralQueryFlags
;
buttons =
R_AVKON_SOFTKEYS_OK_CANCEL
;
items =
{
DLG_LINE
{
type = EAknCtQuery;
id = EGeneralQuery;
control = AVKON_DATA_QUERY
{
layout = EDataLayout;
label =
"INPUT"
; //笔者自己调试个个属性,读者也可自己尝试
control = EDWIN
{
width = 32;
maxlength = 32;
lines = 1;
};
};
}
};
}
时间也差不多了 饭来了 吃好后我们在继续……
博文完
Eleven
Thanks
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
* ==============================================================================
* Name : Helloworldbasic.rss
* Part of : Helloworldbasic
* Description : 这里只是在讲RSS这个文件
* Author :宝杰
* ==============================================================================
*/
进入今天的正题,以前我们看的代码都是系统默认的工程的,今天我们来看一个s60的例子,如何导入这个工程呢?我一步一步说明。
需求:Carbide c++ V2.0
+ Symbian SDK 9.2版本
;
导入:打开carbide c++ -> file -> import ->Symbian OS bld.inf file -> next -> 选择你的路径,我的SDK安装在E,路径如:: E:/Symbian/9.2/S60_3rd_FP1/S60Ex/HelloWorldBasic/group ->选择bld.inf
一路Next就可以了;
运行:按照上一节讲得快速调试方法,你可以建一个DLL的工程,方便调试;
接下来进入今天的正题,我们一起学习RSS文件,高手可以路过,我这就是当自己的读书笔记的。
// RESOURCE IDENTIFIER
NAME
HEWB
// 4
letter ID
在Include前居然还有这么一行,感觉和宏一般,看如下的解释
在 .rss资源文件
中,可以使用以下这些语句:
语句 | 描述 |
NAME | 四个大写字母,在文档开头处指定 |
STRUCT | 定义一个结构体,用于整合资源 |
RESOURCE | 定义资源 |
ENUM | 定义枚举类型 ,与C的语法类似 |
CHARACTER_SET | 定义在资源文件 中使用的字符集,如果是中文则可以使用 |
// INCLUDES
#include
<eikon.rh>
#include
<avkon.rh>
#include
<avkon.rsg>
#include
<appinfo.rh>
#include
"HelloWorldBasic.hrh"
#include
"HelloWorldBasic.rls"
这样我们就来看Sc++文件系统
bld.inf Build描述文件 //刚才导入的文件,我觉得是代表这个工程
.mmp 项目文件
.cpp 源文件 //熟悉
.h 头文件
.rhr 资源头文件
//上面有用到这个文件的类型,是一个头文件,在资源类中需要调用,
//这样以后用资 源类就可以包含头文件就可以了
.rss 资源定义文件 //今天学习的文件
.rls 字符串文件 //常量初始化文件,前几节讲过这个文件
.svg 矢量图文件
.mpm 位图文件
.pkg 打包文件 //发布程序SIS用到,这个证书申请本人正在学习
我觉得这两段代码不需要过多解释,读者可以自己看懂。
// RESOURCE DEFINITIONS
//
-----------------------------------------------------------------------------
//
// Define the resource file signature
// This resource should be empty.
//
//
-----------------------------------------------------------------------------
//
RESOURCE RSS_SIGNATURE
{
}
//
-----------------------------------------------------------------------------
//
// Default Document Name
//
//
-----------------------------------------------------------------------------
//
RESOURCE TBUF
r_default_document_name
{
buf=
"HEWB"
;
}
这段代码就有味道了,EIK_APP_INFO 自己查看帮助,知道是在是用来定义很多如
menus, toolbars, status pane, toolbar, toolband, CBA (Control Button Array) and
hotkeys的资源
//
-----------------------------------------------------------------------------
//
// Define default menu and CBA key.
//
//
-----------------------------------------------------------------------------
//
RESOURCE EIK_APP_INFO
{
menubar = r_helloworldbasic_menubar;
cba =
R_AVKON_SOFTKEYS_OPTIONS_EXIT
;
}
那么我们的默认工程也是这样定义Menu的吗? 去看看去,果然如此,接下来也就顺理成章的定义Menu_Bar
//
-----------------------------------------------------------------------------
//
// r_menubar
// Main menubar
//
//
-----------------------------------------------------------------------------
//
RESOURCE MENU_BAR r_menubar
{
titles =
{
MENU_TITLE { menu_pane = r_menu; }
//这里只是定义了一个Pane,感觉和Java的Panel差不多,也许一个Menu_bar上可以替换多个Pane吧,现//在去查证下,似乎没法解决,希望高手路过解释下,今天老大没来上班
};
}
定义好了Menu_bar,就是定义了Menu_Pane,那么接下来定义的Pane我们似乎很熟悉吧,之前已经学习过,今天就可以跳过了
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
// -----------------------------------------------------------------------------
//
// r_helloworldbasic_menu
// Menu for "Options"
//
//
-----------------------------------------------------------------------------
//
RESOURCE MENU_PANE
r_helloworldbasic_menu
{
items =
{
// added the new Options menu command here
MENU_ITEM
{
command =
EHelloWorldBasicCommand1;
txt = STRING_r_hewb_command1;
},
MENU_ITEM
{
command =
EHelloWorldBasicCommand2;
txt = STRING_r_hewb_command2;
},
MENU_ITEM
{
command =
EHelloWorldBasicCommand3;
txt = STRING_r_hewb_command3;
},
MENU_ITEM
{
command = EAknSoftkeyExit;
txt = STRING_r_hewb_exit;
}
};
}
细心的读者可能发现,默认的工程中的TXT参数可都是红的啊,今天怎么变了了,自己查看默认工程,点击Txt红色文字(同时按住 Ctrl),发现跳转到了.rls文件,很多#defined,而今天我们的文件中有很多rls,每个中都有定义我们的这些变量常值。可是都不是用#defined,使用RLS_String,查看每个文件,相信读者都会明白是不同语言的定义,之后我们还看到一个rls文件,打开,看到:
/ / 自己查看注释相信不难理解意思。
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
// LOCALISATION STRINGS
#ifdef
LANGUAGE_SC
#include
"helloworldbasic_01.rls"
// default U.K. English
#elif
defined LANGUAGE_01
#include
"helloworldbasic_01.rls"
// U.K. English
#elif
defined LANGUAGE_09
#include
"helloworldbasic_09.rls"
// Finnish
#elif
defined LANGUAGE_31
#include
"helloworldbasic_31.rls"
// PRC Chinese
#elif
defined LANGUAGE_32
#include
"helloworldbasic_32.rls"
// Japanese
#endif
至于这个文件如何工作,等我查到了再不上,见谅。
回过头来,我们看RSS文件,接下来就是内容字符串的定义,请允许我这么叫,感觉我更能记忆
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
//
-----------------------------------------------------------------------------
//
// Resources for messages.
//
//
-----------------------------------------------------------------------------
//
RESOURCE TBUF32
r_hewb_command1_text { buf=STRING_r_hewb_command1_text; }
RESOURCE TBUF32
r_hewb_file_text { buf=STRING_r_hewb_file_text; }
RESOURCE TBUF32
r_hewb_caption_string { buf=STRING_r_hewb_caption_string; }
r_hewb_command1_text等这些常量我们在真正的程序中用到,这个是给这个变量初始化赋值;
下面这段代码定义LOCALISABLE_APP_INFO
//
----------------------------------------------------------------------------
//
//
r_helloworldbasic_localisable_app_info
//
//
----------------------------------------------------------------------------
//
RESOURCE LOCALISABLE_APP_INFO r_helloworldbasic_localisable_app_info
{
short_caption =
STRING_r_hewb_caption_string;
caption_and_icon =
CAPTION_AND_ICON_INFO
{
caption = STRING_r_hewb_caption_string;
number_of_icons = 1;
icon_file =
"//resource//apps//Helloworldbasic_aif.mif"
;
};
}
查看帮助知道
Unlike most resource files, because there is only one resource
defined in the
file, it does not need to include a four character
NAME
or an
RSS_SIGNATURE
resource, and the
LOCALISABLE_APP_INFO
resource does not need an ID
.
帮助代码如下
RESOURCE LOCALISABLE_APP_INFO
{
short_caption =
STRING_r_short_caption;
caption_and_icon
=
{
CAPTION_AND_ICON_INFO
{
caption
= STRING_r_caption;
number_of_icons = 3; // each icon must be a
bitmap/mask pair
icon_file =
STRING_r_icon_file;
}
};
}
对于以上的资源命名习惯个人觉得有时间可以多加研究。
最后,资源定义了r_dialog_text_edit_query,调试代码发现有个文本输入框,应该就是这个
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
//
----------------------------------------------------------------------------
//
// r_dialog_text_edit_query
//
// ----------------------------------------------------------------------------
//
RESOURCE DIALOG
r_dialog_text_edit_query
{
flags =
EGeneralQueryFlags
;
buttons =
R_AVKON_SOFTKEYS_OK_CANCEL
;
items =
{
DLG_LINE
{
type = EAknCtQuery;
id = EGeneralQuery;
control = AVKON_DATA_QUERY
{
layout = EDataLayout;
label =
"INPUT"
; //笔者自己调试个个属性,读者也可自己尝试
control = EDWIN
{
width = 32;
maxlength = 32;
lines = 1;
};
};
}
};
}
时间也差不多了 饭来了 吃好后我们在继续……
博文完
Eleven
Thanks
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
相关文章推荐
- S60 sample project 之 Helloworldbasic
- Symbian学习(一)——分析HelloWorldBasic
- helloworldbasic工程总结(上)
- Basic Spring Step by Step Hello World Example
- iOS Programming Basic: How Does the Hello World App Work?
- 3. Android Basic Hello World
- helloworldbasic研究总结(下)
- Spring MVC and Maven – first project: Hello world! Basic template
- 8.Writing JSP, Java and Configuration for Hello World Application
- c helloworld on zynq
- 结合"hello world"探讨gcc编译程序的过程
- 1.1编程基础之输入输出_01:Hello, World!
- 环境配置"错误:找不到或无法加载主类HelloWorld"之疑
- Hello, world
- 第一篇BLOG—Hello world!
- ICE第二篇--一个"hello world"的简单例子
- java web hello world(二)基于Servlet理解监听
- Spring MVC Hello World Example(转)
- 我的第一个Qt程序:使用Qt creator和Qt designer完成"HelloWorld"和计算圆面积的程序设计
- 访问WebService,因 URL 意外地以“/HelloWorld”结束,请求格式无法识别。