保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

软键盘产品界面显示的通用程序设计


大小等于Controls[X][4]

int h; //控件高度,大小等于Controls[X][5]

int idvalue; //控件的id值,大小等于Controls[X][6]

struct pdacontrolslist *next; //指向下一条记录

};

(3)显示状态链

    系统各种状态之间的转换用显示状态链(static int ShowStateList[22][11])进行控制。它是一个动态结构的双向链表,在应用程序初始化阶段,遍历pda_init.h文件中定义的状态转换顺序静态数组,动态生成该状态链。这种数据结构为电话簿和记事本的添加和修改操作提供了方便。由于电话簿和记事本的操作状态转换是单向的,所以采用双向链表结构实现线性状态的前后续状态转换。

Static int ShowStateList[22][11]数组的具体定义格式如下:

  Y=0 Y=1 Y=2 Y=3 Y=4   Y=11 ShowStateList[X][Y] 状态1 状态2 状态3 状态4 状态5 … 状态11 ShowStateList[10][11] 38 39 40 0 NULL … NULL

其中“状态1,2,3……”依次表示当前状态链的不同状态。“0”是结束标志,“NULL”表示没有数据。

在程序初始化的过程中,由这个静态数组生成一个双向链表数组OperationStates[22]。双向链表的每个节点数据域是一个整型常量。它的值等于与其相对应的状态控件链数组(PDAStateControlsList[53])的下标值。例如,如果节点的数据域为12,则对应PDAStateControlsList[12]状态控件链。具体的生成格式如图5所示。

    (4)显示状态栈

显示状态栈存放的数据是显示状态编号。具体数据是从初始状态到达当前状态所经过的所有状态,栈数据处理由int StateStackPop()、intStateStackGet()、void StateStackPush(int a)三个函数实现。具体处理情况如图6所示。

1.2 编程实现

有了以上一套数据结构之后,具体编写程序代码时,根据不同功能所要完成的任务和使用的数据结构,可归类待编写模块,从而提供代码复用率。如电话簿和记事本就可以共用同一套程序代码。因此,关于PDA的所有系统模块划分如图7所示。

系统各个模块间的连接用状态栈以及一些公共变量实现,根据状态栈的信息确定工作到了哪个状态,根据公共变量获得完成操作所需要的信息。程序每进入一个新模块调用的通用处理函数,先屏蔽主界面上固定键盘内的所有按钮,再显示本界面的按钮,最后将固定按钮连接到进入模块的处理函数中,实现固定键盘操作含义的转变。

3 小结

《软键盘产品界面显示的通用程序设计(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/164353.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。