PALM开发教程-第十三章 再论用户界面(转)

本文详细介绍了如何设计和开发一个完整的计算器应用程序,包括用户界面设计、按钮布局原则、资源添加和代码实现。文章深入探讨了如何优化用户界面,确保计算器既符合传统设计又易于使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这一章和下一章中,我们将创建一个完整的计算器应用程序。从中我们将学到怎样使用公共函数库,特别是如何使用MathlLib,我们还会学到许多编程的细节及如何改善用户界面。

计算器的设计

下面开始设计计算器窗体。它将包括:

1 显示数字的区域
2 代表十个数字的按钮
3 小数点按钮
4 符号按钮
5 指数按扭
6 加、减、乘、除按钮
7 等号按钮
8 清除按钮
9 完成(“Done”)按钮,将计算结果拷贝到剪切板上并关闭计算器

计算器可以对数字进行加、减、乘、除运算,最大可到99,999,999*1099。

在这一章中,我们讨论计算器窗体的可视化设计和用户界面元素的内容,在下一章将讨论计算器的功能设计。
可视化设计

在这一部分中,我们将仔细讲述如何设计用户界面。在这一点上,我想了很多。希望我的想法能给你如何构建用户界面一个大体的概念。这些想法主要建立在第七章及
Palm OS SDK文献的基础上。

在设计用户界面时,我考虑到用户可能习惯了计算器界面上的一些东西。例如,数字的组织形式是特定的。还有,一些实际的需要也是约定成俗的,如显示区域在顶部,以免用户在按下按钮时将显示区域遮住。我们还要遵循Palm Computing的要求机制,把按钮做的足够大,以便用手指就可以操作而不要时时的求助与输入笔。基于这些考虑,我们的计算器应该成为这种模样:在显示区域下面规则的排列几行按钮。

我很高兴遵从这种传统的要求,因为这样没听到人们对此有太多的抱怨,至少在我周围的人是这样。它看起来是个成功的设计。当然,也不要太相信传统的看法,如果这种传统的要求并不能是人们满意的话。例如,当我们设计一个虚拟录像机时,我就怀疑是否将其做的像真的录像机一样,因为很多人对这种设计表示不满。

下一步应该考虑按钮间应按照什么样的顺序来排放。其中重要的一个因素就是考虑到它们的使用次数。我想权威的研究结果已经出来了吧,但我还是用我自己的想法。对于好的用户界面,我可能提出了在现实生活中最糟糕的设计模式,因为像你和我这样的开发者在模型构建上可能都比较平庸。所以在真正的设计中,我们应做一些调查和研究,来确定我们的用户到底是怎么想的。

下面是我对按钮使用次数的一些猜测:
1 数字按钮 在每次的运算过程中平均少于一次;
2 小数点按钮 或许少于1/2次;
3 符号按钮 每次运算大约使用一次;
4 指数按钮 使用次数很少;
5 等号按钮 每次一次;
6 清除按钮 差不多每次运算使用一次;
7 完成按钮 每次运算少于一次;

另一个值得考虑的是误击按钮而造成的后果。如果错误的按下了Clear或Done按钮,将造成很严重的后果,因此必须将它们放在离点击频率较高的按钮较远的地方。在我们的设计中一共有20个按钮,基于以上的考虑,我将其设计为五行四列,如图13-1所示。

7 8 9 /
4 5 6 *
1 2 3 -
+/- . +
Done C Exp =

图13-1 我的按钮设计

下一步是如何将各个按钮放置在窗体上。在放置时最应注意的是在每个按钮的四周都有一个(按钮如果为bold则有两个)象素的边框。因此,最左和最顶部都应有一个象素的空余。

我们需要一个编辑框来显示计算结果。用编辑框要比使用标签好的多。我们把编辑框属性设为无下划线(no-underline)、不能编辑、右对齐。我们还可以添加一个按钮给编辑框产生一个边框,这样它不会光秃秃的挂在屏幕上。我发现编辑框的高度为20象素是个很好的选择。
如果Palm的最大尺寸是160象素的话,有很多方法放置各个按钮。下面是我的想法。我用了高度为20个象素的编辑框,按钮高度为23,两者的宽度都是35象素。我通过计算让所有按钮的高度和宽度加起来正好是屏幕的高度和宽度,由此得到一个按钮的高度和宽度。下面是按钮宽度的计算方法:

1 + 35 + 1 + 4 + 1 + 35 + 1 + 4 + 1 + 35 + 1 + 4 + 1 + 35 + 1

1 36 37 41 42 77 78 82 83 118 119 123 124 159 160

下面是高度的计算方法:
20 + 3 + 1 + 23 + 1 + 3 + 1 + 23 + 1 + 3 + 1 + 23 + 1 + 3 + 1 + 23 + 1 + 3 + 1 + 23 + 1
20 23 24 47 48 51 52 75 76 79 80 103 104 107 108 131 132 135 136 159 160

这就意味我们将如何放置按钮:在1,42,83和124上放列,在24,52,80,108和136上放行。
创建计算器

现在我们为程序添加资源和代码。首先,你应该把我们上一章的程序作一个备份以备以后的使用。

在CD上有四个计算器工程。CH.12是第一个版本,在窗体上只有OK按钮。Calculator 2是第八章的版本,该程序有三个窗体和一个菜单栏。你在本章后看到的这个版本的名字叫Calculator CH.13。

对Calculator.rsrc内容的添加

下面将向我们的工程添加编辑框和按钮,来组成程序的用户界面。我们先添加编辑框,然后从左到右从上到下的添加按钮,步骤如下:

1. 单击Start 按钮,选择Programs | CodeWarreor Lite for Palm OS | Constructor运行构造器;

2. 编辑资源文件。选择File | Open Project File in Constructor将产生一个选择对话框,从Src文件夹中选中Calculator.rsrc;

3. 在Resouse Type and Name列表中打开calc窗体;

4. 选中OK按钮按下DELETE键将其删除。当按钮被选中时,在的边框周围有四个小黑块,并且在Layout Properties面板中显示它的属性;

5. 创建编辑框。选择Windows | Catalog,从Catalog模板中拖一个编辑框到窗体的Layout Appearance面板上;

6. 设置编辑框的属性如下:
Object Identifier=number
Left Origin=5
Top Origin=4
Width=150
Height=18
Editable=no check
Underline=no check
Left Justified=no check
其它的属性采取缺省值。你击中Layout Appearance面板后,编辑框属性在Layout Properties面板中出现,选中各个属性编辑修改;

7. 从Catalog模板中拖动按钮到窗体上;

8. 设置按钮的属性如下:
Object Identifier=fieldborder
Left Origin=1
Top Origin=1
Width=158
Height=18
把Label属性中的OK按钮去掉。其它属性采取缺省值;

9. 从Catalog模板中拖动“7”按钮到窗体上;

10.设置按钮的属性如下:
Object Identifier=seven
Left Origin=1
Top Origin=24
Width=35
Height=23
Font=Large
Label=7
其它属性采取缺省值;

11.创建“8”按钮。选中“7”按钮并按下CTRL-C拷贝。单击窗体选中自己,按下CTRL-V粘贴;

12.设置按钮的属性如下:
Object Identifier=eight
Left Origin=42
Top Orig

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-126900/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-126900/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值