第九章 窗口对象
本章讲述窗口生成显示以及窗口菜单的设计。Object UNIX Class Library的TWindow类定义了程序主窗口的大多数基本行为。这些行为包括:打开、关闭、显示以及窗口菜单的事件处理。
9.1 TWindow类
Object UNIX Class Library应用程序至少应该有一个主窗口。在应用程序启动之时,主窗口被显示出来。Object UNIX Class Library程序的主窗口通常是一个TWindow派生类的事例。实际上,在本系统的定义中TWindow类就是作为主窗口类使用的,当然,您可以做为其它子窗口使用,但是,对于子窗口,我们一般采用对话框方式来替代子窗口。
9.2 初始化和生成窗口对象
如同对话框和控件对象,窗口对象也是与直观界面元素相管理的界面对象。更确切地说,窗口对象表示窗口元素,是通过存储在主应用程序数据成员MainWindow来标识的。窗口的生成包括两个阶段,构造对象和声车工内直观元素。
9.2.1 初始化窗口对象
在基于UNIX文本环境下的交互式Object UNIX Class Library应用程序中,有个典型的程序窗口:覆盖式、带标题、主菜单、信息行等等。通常这些类型属性以及其它的生成属性都是在窗口对象生成之时设置的,而在直观元素生成之时才使用它们。
窗口对象的生成属性,诸如类型、菜单、位置、标题都是放在它的类成员数据之中。
下表是窗口TWindow类数据成员类型的说明:
数据成员
用途
FTColor
Int类型,窗口前景颜色
BKColor
Int类型,窗口背景颜色
MainMenuNum
Int类型,主菜单项数
MainMenuIndex
Int类型,当前主菜单索引
MainMenu
Tmenu类型,指向主菜单对象的指针
SubMenu
TsubMenu类型,指向子菜单对象的指针
MainHead
Tmenu类型,指向主菜单对象列表的头指针
SubHead
TsubMenu类型,指向子菜单对象列表的头指针
BackGroundBuffer
Chtype类型,指向窗口覆盖的屏幕内存区域的指针
ExitFlag
Int类型,退出主窗口标志
FirstShowAboutWindowFlag
Int类型,显示主窗口版本标志
当从TWindow建立新的窗口类时,至少必须定义一个构造函数,它要调用其基类的构造函数:
class TMyWindow : public TWindow {
…
TMyWindow(char *Caption,int Left,int Top,int Width,int Height,
Int FTColor,int BKColor);
…
};
在基类的构造函数中,通过派生类构造函数传递的参数对基类的数据成员进行赋值,设置其窗口属性数据。
下面是TWindow窗口基类的构造函数:
TWindow::TWindow(char *caption,int left,int top,int width,int height,int ftcolor,int bkcolor)
{
Caption=caption;
Left=left;
Top=top;
Width=width;
Height=height;
BKColor=bkcolor;
FTColor=ftcolor;
MainMenu=NULL;//设置主菜单指针为空
MainHead=NULL; //设置主菜单头指针为空
ExitFlag=0;
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 对象 程序设计 面向 环境 菜单 窗口 // 函数 成员 定义 |
注册
个人空间
