阅 读 文 章

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

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


引用:第七章 模块和应用程序
编制Object UNIX Class Library应用程序所要做的第一件事情是定义一个应用程序类,这个类是从Object UNIX Class Library的TApplication类派生而来的。应用程序将继承Object UNIX Class Library应用程序的下列属性:

l     生成和显示应用程序主窗口

l     初始化一个应用程序实例

l     初始化菜单对象和所有对话框

l     处理事件消息循环

l     关闭应用程序

把应用程序定义为类不仅可以继承TApplication类的属性,而且还能为它增加构造主窗口对象的能力。其中,还可以选择初始化实例重定义缺省操作,包括关闭应用程序和处理应用程序的消息。

7.1 应用程序流程
Object UNIX Class Library应用程序的主程序一般将由四个语句构成:

第一个语句通过调用初始化屏幕curses库函数来初始化应用程序屏幕窗口指针,使得所有的后续程序都能引用该窗口指针。

第二个语句通过调用应用程序对象的构造函数来生成应用程序对象。构造函数也初始化应用程序对象的数据成员。

第三个语句调用应用程序的Run成员函数,然后,它调用InitApplication来执行应用程序实例的初始化。接着,调用InitMainWindow来初始化生成主窗口,通过调用Show函数来显示主窗口。在大多数情况下,将只需要定义InitMainWindow成员函数。

之后,成员函数Run通过电泳MessageLoop来启动应用程序的执行,即开始处理传来的应用程序消息并指导应用程序动作的指令。MessageLoop的使命是处理消息循环,它能持续运行直到程序关闭。

第四个语句是关闭屏幕curses窗口,释放窗口指针,退出应用程序。

下图是Object UNIX Class Library控制应用程序流程的函数调用:

TApplication类
 
Run
 
InitMainWindow
 
InitApplication
 
MessageLoop
 
 

 

 

 

 

 

 

 



7.2 初始化应用程序
通过重定义那些初始化应用程序对象的成员函数,可以调整执行过程的各个部分。第一个必须编写的成员函数是InitMainWindow。

7.2.1 初始化主窗口
所有的Object UNIX Class Library应用程序都必须从TApplication类下派生。

此处是一个最小的应用程序类定义:

class ThelloApp:public Tapplication {

public:

    ThelloApp(){};

    Virtual void InitMainWindow(void);

};

必须定义一个InitMainWindow成员函数,它负责构造主窗口对象,而且把主窗口对象存放在应用程序对象的数据成员MainWindow之中。此处是一个InitMainWindow成员函数的例子。

void ThelloApp::InitMainWindow(void)

{

    MainWindow=new TWindow("",1,0,78,25,WHITE_BLUE,

    BLUE_BLUE);

}

这个简单的Object UNIX Class Library应用程序有主程序和一个TApplication的派生所构成。TApplication中定义了成员函数定义了成员函数InitMainWindow:

#include “owl.h”

//定义一个TAPplication的派生类

class ThelloApp:public Tapplication {

public:
论坛热门帖子: [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):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.