|
OWL应用程序框架
基于OWL的WINDOWS应用程序的主函数是int OwlMain(int argc, char ** argv);而不是传统的WinMain(),类似于DOS应用程序,较为简洁。
一个OWL应用程序就是一个TApplication类的实例,所以最简单的OWL程序如下:
//---------------------------------------------------------------------
int OwlMain(int argc, char **argv)
{return TApplication().Run();}
//---------------------------------------------------------------------
这样一个程序的启动过程分成以下几步,逻辑上是很自然的:
- Windows系统调入该程序
- Windows系统找到并调用程序中的WinMain函数(封装在OWL库中)
- WinMain函数调用OwlMain
- OwlMain生成一个TApplication对象。
- 生成的TApplication对象的构造函数运行
- :InitApplication成员函数运行(仅该类的第一个实例,以后的实例将忽略之)
- InitInstance成员函数运行,用以进行每个实例的初始化工作。
- InitMainWindow成员函数运行,用以设定主窗口。
- 进入主窗口消息响应循环,即第8步中所指定的主窗口的窗口函数生效
- 至此启动过程结束,程序开始运转并完成其功能。
以上过程中的各函数都有默认值,在实际应用中可根据需要覆盖相应的函数。通常我们都会覆盖其中的InitMainWindows函数,将一个TMyMainWindow类的对象指定为主窗口,并在TMyMainWindows中响应一些消息以实现各种功能。
Tips:
- 三维界面控制:
Application.EnableBWCC(Bool);//Borland 3D
Application.EnableCtl3d(Bool);//MicroSoft 3D
- 窗口的控制:
在窗口的Constructor中,HWnd无效,此时可控制该种窗口不可改变的参数,
在窗口的SetupWindow中,HWnd有效,此时可进行该种窗口的用户化设定,
因此,修改窗体属性应该在Constructor中修改Attr.Style
|