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

PPSM嵌入式RTOS中的窗口系统开发


3.3 控件的实现

  (1)控件的基本结构

  我们使用控件的基本结构定义各类控件的公共属性。具体的控件结构在此基础上扩展,以包含其它属性。以下论述控件的基本属性。

  首先,在窗口的显示过程中,各控件的外观由自己绘制,因而各种控件需要一个绘制函数。该函数在定义具体控件时定义,在控件结构中保留该类函数的指针。其次,各种控件需要各自的消息处理函数,该函数的指针也保存在结构中。最后,一些控件可能会动态分配内存空间以保存自身的数据。控件需要在被释放时释放这样的内存,因而控件结构中也保存控件释放函数的指针。

  控件是窗口上的一个可操作区域,主要由笔输入来操作,因而控件需要响应笔操作的活动区。各种控件的活动区数量不同,因而在控件结构中需要保存一个可增长的活动区列表;但控件的屏幕区域可能覆盖部分窗口中的其它活动区(如其它控件),从而造成控件操作的混乱,因此需要一个控件占用区域的活动区,以屏蔽其它可能造成干扰的活动区。

  由于我们需要各种控件能在定义新控件时使用,即作为新控件的子控件,在控件的结构中,须保存子控件列表。各类控件的绘图、消息处理和释放函数,必须为控件系统定义的相应的缺省处理函数。这些缺省处理函数根据控件的子控件列表,首先调用子控件的相应函数。

  (2)具体控件定义的方法

  ① 一个具体的控件对应一个特定的结构。该结构首先包含控件的基本结构,其次定义该控件所需要的其它属性。如按键控件,需要有按键的类型、显示的文本或图形、笔操作所需的活动区ID和按下状态等属性。

  ② 定义控件的绘制、消息处理和释放函数。

  ③ 定义该控件的创建函数,如CreateButton()。在该函数的参数中包含该控件所需的初始属性、参数中标准的部分是控件的位置和大小。该函数初始化该控件结构的属性,包括初始化在基本控件结构中的控件绘制、消息处理和释放函数指针,使之指向相应的函数。

  ④ 定义操作控件、存取控件中数据所需的其它函数。

  (3)系统预定义的控件

  在系统中,已经使用这种定义方式定义了一些常用的控件。它们有:

  ① 按键:Button。文本或图形按键,Check方式按键。

  ② 标签:Label。

  ③ 复选框:CheckBox。

  ④ 单选框:RadioBox。

  ⑤ 组合框:CombBox。

  ⑥ 滚动条:ScrollBar。水平或垂直,简单类型滚动条可作为Spin使用。

  ⑦ 编辑框:TextBox。单行或多行,可编辑或不可编辑,有选块功能。

  ⑧ 列表框:ListBox。单列或多列,选项可带有图标。

  ⑨ 状态条:StateBar。含有命令菜单弹出按键、窗口关闭按键(在窗口关闭按键上显示窗口标题)、输入法按键、输入法选择按键、日期和时间显示区。

  日历控件:Canlendar。显示任意年月的日期,可切换公历和农历。

  组合日历控件:Date。单行显示日期,有弹出日历的按键。

  电子表格:Excel。显示数据库的记录,可按每列对应的字段排序。

  组控件:Group。用于控件分组。

3.4 菜单系统

  菜单是通过在POPUP窗口中加入ListBox控件实现的。菜单窗口的消息处理函数在用户选择列表框项目后自动关闭,并向应用程序发送WM_ MENUCLICK消息。该消息带

《PPSM嵌入式RTOS中的窗口系统开发(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/151533.html

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