引用:第十章 对话框对象
对话框是一种界面元素,它的生成属性由用户自己根据业务需要定制的,用户可以设置它的位置、大小、标题以及各种控件的组合。
对话框大凡都用作为子窗口,以执行一项与输入或选择有关的专门任务。例如,可以用一个子对话框来接受构置打印机的参数设置。Object UNIX Class Library提供了三个Dialog类的派生类:TInputDialog、TFileDialog、TPrintFialog。TInputDialog从用户输入接受一个文本行,TFileDialog索取一个文件名,TPrintDialog设置打印参数。
10.1 使用对话框对象
一般对话框在应用程序主窗口生成时,就已经生成了对话框对象,用户可以在需要时随时显示它,只到用户删除该对话框对象。在对话框对象显示时,用户没有必要设置变量去保存被对话框覆盖的主窗口区域,因为Object UNIX Class Library以及替您完成了这些操作。退出显示对话框后,系统自动为您恢复到对话框显示之前的状态。每次在对话框显示时,TDialog基类函数会保存被覆盖的区域屏幕内存数据,而在退出显示时,释放它。
10.2 构造和初始化对话框对象
TDialog的构造函数需要七个参数:对话框标题、相对于主窗口的列行坐标、对话框大小以及前景和背景颜色。
为了接受实际的派生类传递参数,需要重载了它的构造函数:
AboutDialog=new AboutDialog("Sample Dialog",17,6,46,13,
BLACK_CYAN,CYAN_CYAN);
下面以显示版本信息为例,构造一个新的对话框对象:
TAboutDialog::TAboutDialog(char *caption,int left,int top,
int width,int height,int ftcolor,int bkcolor)
:TDialog(caption,left,top,width,height,ftcolor,bkcolor)
{
Caption=caption;
Left=left;
Top=top;
Width=width;
Height=height;
BKColor=bkcolor;
FTColor=ftcolor;
InitDialog();//调用对话框初始化函数,设置界面控件对象
}
void TAbout::InitDialog(void)
{
TDialog::InsertControl((TControl *)new TLabel("Object UNIX
Class(SCO UNIX版)",5,2,FTColor));
TDialog::InsertControl((TControl *)new TLabel("All Rights Reserved",
14,4,FTColor));
TDialog::InsertControl((TControl *)new TLabel("Version
1.0",17,6,FTColor));
TDialog::InsertControl((TControl *)new TLabel("C++类库例子程序",
11,8,FTColor));
TDialog::InsertControl((TControl *)new TLine(M_HORZ,0,10,Width,10,
FTColor));
TDialog::InsertControl((TControl *)new TButton(EXIT_BUTTON,"退出",
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 对象 程序设计 面向 环境 对话 控件 函数 需要 用户 响应 |
注册
个人空间
