阅 读 文 章

SCO UNIX环境下面向对象的程序设计 10

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(hbczjzc) | 时间:2007-05-27 | 浏览:人次 ]


引用:第十章 对话框对象
对话框是一种界面元素,它的生成属性由用户自己根据业务需要定制的,用户可以设置它的位置、大小、标题以及各种控件的组合。

对话框大凡都用作为子窗口,以执行一项与输入或选择有关的专门任务。例如,可以用一个子对话框来接受构置打印机的参数设置。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标签: 对象 程序设计 面向 环境 对话 控件 函数 需要 用户 响应

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.