SPIN

原创 2007年09月25日 11:07:00

可用的新控件

微调控件

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

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

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

LISTBOX  IDC_YOURNAME,5,30,90,10,NOT LBS_NOTIFY | LBS_SORT |
         LBS_NOINTEGRALHEIGHT | NOT WS_BORDER | WS_TABSTOP

CONTROL  "",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
 

spin+EDIT组合使用VC++

  • 2012年11月20日 19:51
  • 48KB
  • 下载

Pthreads并行编程之spin lock与mutex性能对比分析

Pthreads并行编程之spin lock与mutex性能对比分析 POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread ...

spin model checking

  • 2009年12月14日 22:16
  • 3.4MB
  • 下载

SPIN控件的使用问题

  • 2009年10月02日 10:25
  • 26KB
  • 下载

cpu_relax()-----对自选循环等待(spin-wait loops)操作的优化

在lock_timer_base()函数中看到在for循环操作中调用了cpu_relax(),本来以为是要让出CPU,调度其他进程运行,但是看代码之后发现完全不是这么回事。cpu_relax()中只有...

spin 控件和Edit 控件联合使用

  • 2009年10月24日 19:23
  • 115KB
  • 下载

spin625工具

  • 2014年09月20日 15:49
  • 457KB
  • 下载

Spin.js-CSS动画进度加载器

spin.js是一款非常简单的CSS加载器,他是一款使用了VML(Vector Makeup Language)的CSS动画效果。 spin.js的特性 他有着非常强大的适应性,有着以下几个特性:...
  • coco510
  • coco510
  • 2014年10月24日 14:18
  • 979

Spin_in_CFD_2010_ENG_FINAL

  • 2015年02月03日 12:45
  • 5.15MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SPIN
举报原因:
原因补充:

(最多只允许输入30个字)