第二部分 使用Object UNIX Class Library
第六章 概述
Object UNIX Class Library提供了丰富的预定义类,使用它提供的这些类可以大大地简化交互式的基于UNIX文本环境下的应用程序开发。
本章将概述Object UNIX Class Library的类体系结构。在这一部分的后续章节中,将对类体系的各个部分提供详细的说明。
除了讲述体系之外,本章还要讲解对基于UNIX文本环境下的curses编程的基本原理,包括curses API调用以及运行库的API调用。
6.1 Object UNIX Class Library的约定
在Object UNIX Class Library的类体系中有许多的类和结构都以T打头,如TWindow。对成员函数和普通函数的指针还定义了下面相关类型:
typedef void (*FUNCTION)();//FUNCTION表示普通函数的指针
typedef void (TWindow::*MEMBERFUNCTION)(); //MEMBERFUNCTION表示类成员函数的指针
对屏幕curses库也定义了相关的约定:
extern WINDOW *w1; /*本类库内部使用的屏幕窗口指针*/
/*定义 前景_背景 值 颜色*/
#define BLACK_BLACK 8 /*黑*/
#define BLUE_BLUE 1 /*兰*/
#define GREEN_GREEN 2 /*绿*/
#define YELLOW_YELLOW 3 /*黄*/
#define RED_RED 4 /*红*/
#define MAGENTA_MAGENTA 5 /*橙*/
#define CYAN_CYAN 6 /*青*/
#define WHITE_WHITE 7 /*白*/
……
详细的说明请参考color.hpp定义。
6.2 Object UNIX Class Library的类体系结构
Object UNIX Class Library是一个类库,库中的类构成一个完整的体系。这个库可资使用、修改、添加或继承。在下的章节中,将全面介绍各个类及其数据成员和成员函数。
C/C++ Object UNIX Class Library类体系结构
TObject基类
TDialog类
TControl控件类
TWindow类
TApplication类
TInputDialog类
TFileDialog类
TPrint类
TList类
TComboBox类
TCheckBox类
TRadioButton类
TBrowser类
TButton类
TEdit类
TGroup类
TMultiEdit类
TLabel类
TLine类
TScroller类
TApplication类
6.2.1 TObject
TObject是Object UNIX Class Library所有派生类的基类。
6.2.2 TApplication
这个类定义了所有Object UNIX Class Library应用程序所需要的属性。每个Object UNIX Class Library应用程序都是由TApplication类派生的。除此之外,TApplication类还负责初始化主窗口对象。
6.2.3 TWindow
窗口对象代表交互式环境的主窗口,当然,您也可以定义一个相应的子窗口。所有应用程序的主窗口类必须从它派生,并又TApplication类的初始化主窗口函数InitMainWindow实例化它。
6.2.4 TDialog
Dialog对象能用来简化交互式界面的组合,尤其是象按钮、列表框、输入条等控件的组合。
l TPrintDialog
这个类作为文件打印参数的选择使用,用户可以选择打印机、打印标题、分页等内容。
l TInputDialog
这个类为用户输入单个文本项而定义的对话框。
l TFileDialog
这个类是许多应用程序要直接使用的对话框类。它定义的对话框允许用户出于多种目的(如打开文件、编辑文件和保存文件)选择文件。
6.2.5 控件对象
在对话框内,控件允许用户输入或者选择项目。控件对象为交互式应用程序提供的各种不同控件提供了一致而且简单的处理手段。
l TControl
TControl是所有控件类的基类,并为所有控件类提供一致的接口和相同的属性。
l TLabel
TLabel提供了建立和查询静态文本的成员函数。
l TLine
TLine提供了建立行线或竖线的成员函数。
l TEdit
TEdit为对话框提供增强的文本行编辑能力。
l TButton
TButton表示对话框上的按钮。
l TList
TList的实例表示列表框上。它处理列表框的生成和表项选择,它还定义了处理表项的成员函数。
l TcomboBox
TComboBox是由TList派生的。它为对话框定义组合框属性。组合框是由一个列表框和一个编辑框组成的控件。
l TCheckBox
TcheckBox提供对话框校验框切提供管理其状态的成员函数。
l TRadioButtom
是TCheckBox的派生类,它提供对话框互锁按钮的生成和状态管理。
l Tgroup
提供对话框的成组框。它对TRadioButton和TCheckBox分组比较有用。
l TBrowser
它提供多行多列的列表框管理并提供处理内部字段的能力,类似数据库的Browser功能,该控件对数据库操作比较有用。
l TView
它提供文本文件的全屏幕浏览功能。
l TMultidit
它提供文本文件的全屏幕编辑功能。
l TScroller
它提供滑动尺的滚动功能。
6.3 屏幕curses操作函数和标准运行库函数调用
由于UNIX系统提供了大量的屏幕curses操作函数,Object UNIX Class Library对它提供的函数根据常规需要有选择的进行封装和组合,并编写了一些有效的屏幕操作函数如初始化屏幕curses窗口文本显示、画填充矩形框、设置前景背景颜色等函数。
用户在编写自己的应用程序时可以直接调用它而不需要指定特定的类对象。但您要在头文件包含中包含color.hpp。
您也可以直接调用标准的运行库函数而不需要指定特定的类对象。比如您调用字符串比较函数strcmp。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/