窗口对象的生成属性,诸如类型、菜单、位置、标题都是放在它的类成员数据之中。
表1是窗口TWindow类数据成员类型的说明:
表1
数据成员 |
用途 |
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;
FirstShowAboutWindowFlag=0;
}
(4)TDialog
Dialog对象能用来简化交互式界面的组合,尤其是像按钮、列表框、输入条等控件的组合。
1) TPrintDialog
这个类作为文件打印参数的选择使用,用户可以选择打印机、打印标题、分页等内容。
2) TInputDialog
这个类为用户输入单个文本项而定义的对话框。
3) TFileDialog
这个类是许多应用程序要直接使用的对话框类。它定义的对话框允许用户出于多种目的(如打开文件、编辑文件和保存文件)选择文件。
对话框很像一个弹出式窗口,但它通常在屏幕上停留一段时间且执行一种特定的任务。对话框的表面一般都有很多控件组合来显示静态文本、完成数据输入、列表内容选择、互锁按钮选择能内容并根据用户的选择和输入执行某种任务或在激活另一个对话框。
像弹出窗口一样,对话框是一个独立的子窗口。从概念上讲,增加一个对话框与增加一个弹出式窗口别无二样。虽然对话框酷似窗口,但它与窗口还存在着重要差异:
1)对话框类是由TDialog派生的,而不是从TWindow派生的。不过TDialog和TWindow两个都是从TObject派生的。
2) 通常,对话框需要用户规定其大小、位置。
3) 通常,对话框执行一项较短的任务且返回一个值。 例如:CanClose消息框根据用户的选择返回一个1或者0的应答。
|