在本章中,我将通过为上一章的Contacts程序添加一个About对话框,继续向读者展示Palm OS简单有效的程序风格。你将学会如何创建含有位图、文本和按钮的窗体。你可在Contacts程序中加入菜单和代码使你可以访问About对话框并重新回到Contacts主窗体。
在此过程中,我们将先了解应用程序的基本设置,将为Contacts程序创建一个大的和一个小的应用程序图标。
程序设置
我们在这部分中将改变一些对整个程序都有影响的设置。同时还将为Contacts创建图标。
首先,为你的程序做一个备份:
1. 打开Windows文件浏览器;
2. 找到Contacts文件夹;
3. 复制并粘贴Contacts;
4. 命名新文件夹为Contacts CH.3。这就是你的备份文件夹。
创建大小应用程序图标
先查看一下资源构造器的工程设置(Project Settings)。
注意:
Code Warrior6所带的构造器版本有一个bug——不允许创建和编辑多位(multibit)图标。我们找到了一个解决的办法,在本书附带的CD里面找到文件icon.txt,里面写有如何解决此问题的步骤。
1. 运行资源构造器,打开Contacts.rsrc;
2.在Contacts.rsrc窗口的底部找到工程设置图标。如果在窗口的底部只有一个指向右方箭头,单击则工程设置就会弹出。在工程设置中一般要改变的有:应用程序图标的名字、版本字符串和应用程序图标。在上一章节中你已经改变了应用程序图标的名称。表4-1列出了所有设置极其功能:
名称 描述
Generate App Resources 为应用程序产生版本和图标名称的资源,我建议你大多情况下选中次复选框。
Application Icon Name 应用程序的名称
Version String 应用程序的版本号。当对你的应用程序做出有意义修改后,你应该提高版本号表示不同版本。
Application Icon 定义了黑白的程序大图标,这是为Palm OS 2.0和更早版本准备的,在这里不用。
Auto Generate Header File 资源构造器自动生成头文件。选中。
Include Details in Header 资源构造器向头文件中添加
内容。选中。
Keep Ids in Sync 使资源构造器在控件ID改变时自动更改ID。如果你在程序中不大改变ID,你可以不选;但在一般情况下,选中会更好。
表4-1:资源构造器中工程设置的选项。
3. 创建应用程序大图标。从资源列表中选择Multibit Icon并按CTRL-K。一定要保证资源ID为1000。还要注意如果按下了应用程序图标属性边上的创建(Create)按钮,那将生成标准图标而不是多位图标。虽然这样也能产生大图标,但不够理想。
4.双击新图标,弹出一个编辑窗口,你现在就可以在里面画图了。通过选择编辑窗口右端的两个图标,确定颜色为黑白(black and white)还是2位的灰度级。编辑窗口内的编辑控件和Windows下的画图(Paint)及其它作图程序都很相似。当完成后,按窗口顶部右端的X即可关闭窗口。图4-1是本人所画的大图标;
图4-1 一个Contacts程序中的大图标
5. 接下来创建一个应用程序小图标。它只能在Palm OS 3.0或更高版本显示。打开Contactas.rsrc窗口,在Resource Type 和Name面板上选择Multibit Icons;
6. 按下CTRL-K创建一个新图标;
7. 点击ID,将其改为1001,这一步十分重要;
8. 点击新图标。弹出图标编辑窗口,由于Palm OS只显示上部9象素和最左端的15象素,在设计时要注意。本人所画的小图标如图4-2所示;
图4-2 一个Contacts程序中的小图标
CodeWarrior集成开发环境中的工程设置
这部分所讲的是如何在使用应用程序的设置:
1. 行CodeWarrior集成开发环境,打开Contacts工程;
2. 选择Edit|Stater Settings。程序设置还叫Stater Settings的原因是自从我们建立Starter工程后还没有将它改名。在Stater Settings会发现大量的设置选项,你千万不要把它们搞混;
3. Stater Setting 对话栏的左边是设置结构树。选择Target子树下的Target Setting,将Target Name中的名字由Starter改为Contacts;保存,现在CodeWarrior集成开发环境将会调用工程Contacts;
4. 在Target子树下选中68K Target,将文件名从Starter.tmp改为Contacts.tmp;
5. Linker子树下选中PalmRez Post Linker。将Mac Resource Files 设置由Starter.tmp改为Contacts.tmp;将Output Files设置由Starter.prc改为Contacts.prc,将Database Name设置由空白添加Contacts-PPGU;
注意: 如前所述,在Palm设备中所有东西都是以数据库的形式保存的,应用程序也不例外。每个数据库都必须有唯一的名称,否则就会出现问题。Contacts-PPGU就是和它的唯一原始(creator)ID相关联的文件名,这样命名可以保证唯一性。有关更多原始ID的内容,请参看下一章。
在Contact Settings子树下还有很多其他的设置属性,但是这时候还没必要去设置它们。如果你感兴趣的话,可以参考CodeWarrior集成开发环境指南(Guide)的有关内容。
多窗体界面
在这部分里我们将再为Contacts程序添加一个窗体:About窗体。我们也将修改Contacts.c中的代码使窗体之间可相互切换。
Contacts.rsrc文件中内容的添加
我们将为资源文件添加一个About窗体:
1. 打开资源构造器,打开文件Contacts.rsrc;
2. 建About窗体。从资源文件列表中选择Forms并按下CTRL-K;
3. 命名窗体。单击名字Untitled改为About;
4. 击打开About窗体;
5. 找到Form对话面板左边的窗体属性。表4-2列出了窗体的各个属性极其用途;
6. 修改窗体属性。复选Save Behind,写入About Contacts。
表4-2 窗体属性
Left Origin 窗体的左侧位置的象素数,整个屏幕为160象素。
Top Origin 窗体的顶部位置的象素数,整个屏幕从上到下为160象素。
Width 窗体的宽度,窗体不一定占满整个屏幕。
Height 窗体的高度。
Usable 决定窗体是否可见,如果对象没有标识为Usable,则它是不可见的。窗体一般情况下标识为Usable。
Modal 如果窗体为工作窗体且选取Modal,则在窗体外的笔击事件不起任何作用。Modal窗体的名字在窗体顶部的中央。Modal窗体不会被诸如警告之类的系统对话框中断,所以使用时要慎重。
Save Behind 如果选中,窗体关闭后,对窗体操作前的屏幕上窗体后的内容将被保存。
Form ID 窗体的ID号,ID唯一标识窗体。
在此过程中,我们将先了解应用程序的基本设置,将为Contacts程序创建一个大的和一个小的应用程序图标。
程序设置
我们在这部分中将改变一些对整个程序都有影响的设置。同时还将为Contacts创建图标。
首先,为你的程序做一个备份:
1. 打开Windows文件浏览器;
2. 找到Contacts文件夹;
3. 复制并粘贴Contacts;
4. 命名新文件夹为Contacts CH.3。这就是你的备份文件夹。
创建大小应用程序图标
先查看一下资源构造器的工程设置(Project Settings)。
注意:
Code Warrior6所带的构造器版本有一个bug——不允许创建和编辑多位(multibit)图标。我们找到了一个解决的办法,在本书附带的CD里面找到文件icon.txt,里面写有如何解决此问题的步骤。
1. 运行资源构造器,打开Contacts.rsrc;
2.在Contacts.rsrc窗口的底部找到工程设置图标。如果在窗口的底部只有一个指向右方箭头,单击则工程设置就会弹出。在工程设置中一般要改变的有:应用程序图标的名字、版本字符串和应用程序图标。在上一章节中你已经改变了应用程序图标的名称。表4-1列出了所有设置极其功能:
名称 描述
Generate App Resources 为应用程序产生版本和图标名称的资源,我建议你大多情况下选中次复选框。
Application Icon Name 应用程序的名称
Version String 应用程序的版本号。当对你的应用程序做出有意义修改后,你应该提高版本号表示不同版本。
Application Icon 定义了黑白的程序大图标,这是为Palm OS 2.0和更早版本准备的,在这里不用。
Auto Generate Header File 资源构造器自动生成头文件。选中。
Include Details in Header 资源构造器向头文件中添加
内容。选中。
Keep Ids in Sync 使资源构造器在控件ID改变时自动更改ID。如果你在程序中不大改变ID,你可以不选;但在一般情况下,选中会更好。
表4-1:资源构造器中工程设置的选项。
3. 创建应用程序大图标。从资源列表中选择Multibit Icon并按CTRL-K。一定要保证资源ID为1000。还要注意如果按下了应用程序图标属性边上的创建(Create)按钮,那将生成标准图标而不是多位图标。虽然这样也能产生大图标,但不够理想。
4.双击新图标,弹出一个编辑窗口,你现在就可以在里面画图了。通过选择编辑窗口右端的两个图标,确定颜色为黑白(black and white)还是2位的灰度级。编辑窗口内的编辑控件和Windows下的画图(Paint)及其它作图程序都很相似。当完成后,按窗口顶部右端的X即可关闭窗口。图4-1是本人所画的大图标;
图4-1 一个Contacts程序中的大图标
5. 接下来创建一个应用程序小图标。它只能在Palm OS 3.0或更高版本显示。打开Contactas.rsrc窗口,在Resource Type 和Name面板上选择Multibit Icons;
6. 按下CTRL-K创建一个新图标;
7. 点击ID,将其改为1001,这一步十分重要;
8. 点击新图标。弹出图标编辑窗口,由于Palm OS只显示上部9象素和最左端的15象素,在设计时要注意。本人所画的小图标如图4-2所示;
图4-2 一个Contacts程序中的小图标
CodeWarrior集成开发环境中的工程设置
这部分所讲的是如何在使用应用程序的设置:
1. 行CodeWarrior集成开发环境,打开Contacts工程;
2. 选择Edit|Stater Settings。程序设置还叫Stater Settings的原因是自从我们建立Starter工程后还没有将它改名。在Stater Settings会发现大量的设置选项,你千万不要把它们搞混;
3. Stater Setting 对话栏的左边是设置结构树。选择Target子树下的Target Setting,将Target Name中的名字由Starter改为Contacts;保存,现在CodeWarrior集成开发环境将会调用工程Contacts;
4. 在Target子树下选中68K Target,将文件名从Starter.tmp改为Contacts.tmp;
5. Linker子树下选中PalmRez Post Linker。将Mac Resource Files 设置由Starter.tmp改为Contacts.tmp;将Output Files设置由Starter.prc改为Contacts.prc,将Database Name设置由空白添加Contacts-PPGU;
注意: 如前所述,在Palm设备中所有东西都是以数据库的形式保存的,应用程序也不例外。每个数据库都必须有唯一的名称,否则就会出现问题。Contacts-PPGU就是和它的唯一原始(creator)ID相关联的文件名,这样命名可以保证唯一性。有关更多原始ID的内容,请参看下一章。
在Contact Settings子树下还有很多其他的设置属性,但是这时候还没必要去设置它们。如果你感兴趣的话,可以参考CodeWarrior集成开发环境指南(Guide)的有关内容。
多窗体界面
在这部分里我们将再为Contacts程序添加一个窗体:About窗体。我们也将修改Contacts.c中的代码使窗体之间可相互切换。
Contacts.rsrc文件中内容的添加
我们将为资源文件添加一个About窗体:
1. 打开资源构造器,打开文件Contacts.rsrc;
2. 建About窗体。从资源文件列表中选择Forms并按下CTRL-K;
3. 命名窗体。单击名字Untitled改为About;
4. 击打开About窗体;
5. 找到Form对话面板左边的窗体属性。表4-2列出了窗体的各个属性极其用途;
6. 修改窗体属性。复选Save Behind,写入About Contacts。
表4-2 窗体属性
Left Origin 窗体的左侧位置的象素数,整个屏幕为160象素。
Top Origin 窗体的顶部位置的象素数,整个屏幕从上到下为160象素。
Width 窗体的宽度,窗体不一定占满整个屏幕。
Height 窗体的高度。
Usable 决定窗体是否可见,如果对象没有标识为Usable,则它是不可见的。窗体一般情况下标识为Usable。
Modal 如果窗体为工作窗体且选取Modal,则在窗体外的笔击事件不起任何作用。Modal窗体的名字在窗体顶部的中央。Modal窗体不会被诸如警告之类的系统对话框中断,所以使用时要慎重。
Save Behind 如果选中,窗体关闭后,对窗体操作前的屏幕上窗体后的内容将被保存。
Form ID 窗体的ID号,ID唯一标识窗体。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-126909/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10294527/viewspace-126909/
本文档详细介绍了如何为PalmOS程序Contacts添加一个About对话框,并展示了如何创建含有位图、文本和按钮的窗体。此外,还介绍了如何设置应用程序图标、调整工程配置以及在CodeWarrior集成开发环境中进行必要的设置。
198

被折叠的 条评论
为什么被折叠?



