SPIN

来源:互联网 发布:python 5分钟前 编辑:程序博客网 时间:2024/04/29 08:28

可用的新控件

微调控件

微调控件旨在替换所有的组合框、列表框和列表视图。它基本上是一个常规编辑框,旁边带有一个左右切换开关。

用户可以左右移动光标以选择微调编辑框中的不同项。如果用户按下“操作”按钮,就会显示所有项的全屏列表,而后用户可以再次使用“操作”按钮来选择一个项。几乎所有的 Smartphone 应用程序都使用这个控件。

EVC 的资源编辑器不识别这个新控件,因此,您必须以文本模式编辑源 RC 文件。下面的示例说明了如何插入该控件:

LISTBOX  IDC_YOURNAME,5,30,90,10,NOT LBS_NOTIFY | LBS_SORT |         LBS_NOINTEGRALHEIGHT | NOT WS_BORDER | WS_TABSTOPCONTROL  "",IDS_UPDOWN,"msctls_updown32",UDS_SETBUDDYINT |         UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS |         UDS_HORZ | 0x200,0,0,0,0
devspui_fig1_spinctrl

1. 红色圆圈表示微调控件

 

 

这个平台基于Wind ows CE 3.0;对于软件的移植来说,这可是一个好兆头。 不过,这一新的移动平台仍然有很多特殊的地方,例如较小的屏幕、 不支持触摸屏和一些其它的用户界面概念,这些概念可能会成为软件 开发者的潜在问题。关于这些平台间主要的区别,在Introdu ction to Smartphone 2002 for P ocket PC developers中已经列出了。为了感受 一下将各种方面到新平台,我决定移植一个已有的Pocket P C应用程序,它没有使用MFC。Pocket PC 2002 SDK中有一个简单的注册表查看工具例程,名字是“
PSPCMonkey”
,本文就描述了这个程序的移 植过程,包括从用户界面设计到详细实现的各个部分。本文还示范了 Smartphone 2002平台上较为特别的技术,例如:& middot;
使用新的菜单条资源,包括它一个已知的相关问题及 其解决方法。·
创建可扩展的编辑框和列表框。&m iddot;
实现“
回退”
键的支持。& middot;
创建标准的Smartphone 2002标签。 Pocket PCSmartPhone 2002开始最初的第 一步是在Smartphone 2002平台下不做任何的改动来 编译应用程序。它是使用纯粹的API编写的,因此我们有机会从编 译器得到一个很好的结果。我们得到了一个完美的结果&mdash ;

0 error(s) and 0 warni ng(s),就像先前我们所期望的那样。现在让我们来运行这个应 用程序,从Smartphone 2002的角度来看看它吧。这 个结果看起来并不是太好。快速回顾一下这个程序,我们会发现还有 以下的事情要做:·
列表框。根据Smartpho ne 2002的指导方针,列表框应该只包括一行。&middo t;
菜单条。这个应用程序应该包含一个它自己的菜单条。&mid dot;
回退键。应用程序应该支持一个“
回退&rd quo;
键。·
按钮。Smartphone 20 02下是不支持按钮的。·
屏幕区域。控件并不适合 屏幕。对话框能够使用垂直滚动来定位所有的控件。· ;
标签。标签应该和标准的Smartphone 2002标签看 起来一样。·
标题条。标题条应该显示应用程序的名 称,消息框的标题不应该太长。·
控件的行为。Sm artphone是没有触摸屏的。用户界面设计用户界面的设计是 移植中最重要的方面。较小的屏幕、没有触摸屏以及这另一组控件都 应该考虑。用户界面设计应该分为几步。 布局设计在Sma rtphone 2002屏幕上放置控件最主要的规则是&ldq uo;
一个控件应该占据一行”
。建议你使用标签来表 示控件中所显示何种类型的信息。标签应该直接放置在控件的上方。 控件根据Smartphone 2002的指导方针,列表框应该 只包括一行。浏览可以用两种方法实现:使用一个带有左/右按钮的 微调控件以及使用列表的展开视图。列表的展开视图在我们这种情况 下非常有用,因为列表中会拥有很多的项目。在Smartphon e 2002平台下是不支持按钮的,一个好的解决方法是将它们替 换为菜单条上的菜单项。菜单条的动作按钮(左边的软键)将代替鼠 标的点击。用户将使用这个键来进入注册表的键中。第二个软键通常 用于菜单,但是我们现在这个简单的应用程序中还没有菜单。因此, 在菜单条中我们还需要另外一个键:“
回退&rdqu o;
项来代替原应用程序的“
回退/向上&rdquo ;
按钮。行为通常,应用程序的用户界面是依赖于鼠标(手写笔)事 件的。Smartphone 2002则并不会有产生点击事件的 机会,因为它没有触摸屏。在我们这种情况下,我们拥有一个非常简 单的应用程序,但在没有触摸屏的情况下它是无法工作的!问题就在 于列表框是利用点击来浏览的。我们将使用菜单条中特殊的菜单项来 代替这些点击。实现可扩展的列表框和编辑框我们需要减少列表框的 高度,并添加微调控件来实现项目的选择和扩展。以下的资源代码根 据这些需求创建了一个列表框资源。LISTBOX IDL_ LISTBOX,4,15,131,10, WS_TABSTOP | WS_VISIBLE | LBS_ NOINTEGRALHEIGHTCONTROL &quo t;
"
, IDC_UPDOWN, UPDOWN_C LASS, WS_VISIBLE | UD S_AUTOBUDDY | UDS_HORZ | UDS_A LIGNRIGHT | UDS_ARROW KEYS | UDS_SETBUDDYINT | UDS_W RAP | UDS_EXPANDABLE, 0,0,0,0