/* ------------------------------------------------------- *
* QwlMain : TApplication
* ------------------------------------------------------- */
#include <owl\applicat.h>
int
OwlMain ( int /* argc */, char* /* argv */ [] )
{
TApplication App ( "Hello world !" );
return App.Run();
}
/* ------------------------------------------------------ *
* WinMain: TApplication
* ------------------------------------------------------ */
#include <owl\applicat.h>
#pragma argsused
int PASCAL
WinMain (
HINSTANCE hInst,
HINSTANCE hPrevInst,
LPSTR lpszCmdLine,
int nCmdShow
)
{
TApplication App ( "Hello world!", hInst, hPrevInst,
lpszCmdLine, nCmdShow );
return App.Run();
}
Директива #pragma argsused подавляет предупреждения компилятора о неиспользованных аргументах для следующей за ним функции.
Эти приложения определяют объект класса TApplication. Он инкапсулирует в себе все приложение. Функция Run() вызывается для запуска цикла ожидания и обработки сообщений. Она возвращает значение состояния, которое передается в качестве кода возврата из OwlMain ( WinMain ).
/* ------------------------------------------------------ *
* QwlMain : Window1 - 1
*
* class TMyApp
* ------------------------------------------------------ */
#include <owl\applicat.h>
#include <owl\framewin.h>
// ----------------------------------------------------------class TMyApp: public TApplication
{
public:
TMyApp ( const char far* title ):
TApplication ( title ) { };
void InitMainWindow ();
};
// ----------------------------------------------------------void
TMyApp::InitMainWindow ()
{
MainWindow = new TFrameWindow ( 0, "MainWindow" );
}
// ----------------------------------------------------------#pragma argsused
int
OwlMain ( int argc , char* argv[] )
{
TMyApp App ( argv[0] );
return App.Run();
}
/* ------------------------------------------------------- *
* QwlMain : Window1 - 2
*
* class TMyWin
* class TMyApp
*
* ------------------------------------------------------- */
#include <owl\applicat.h>
#include <owl\framewin.h>
//-----------------------------------------------------------class TMyWin: public TFrameWindow
{
public:
TMyWin ( TWindow *parent, const char far* title ) :
TFrameWindow ( parent, title ),
TWindow ( parent, title ) { };
};
// ----------------------------------------------------------class TMyApp: public TApplication
{
public:
TMyApp ( const char far* name ):
TApplication ( name ) { };
void InitMainWindow ();
};
// ----------------------------------------------------------void
TMyApp::InitMainWindow ()
{
MainWindow = new TMyWin ( 0, "MainWindow" );
}
//-----------------------------------------------------------#pragma argsused
int
OwlMain ( int argc , char* argv[] )
{
TMyApp App ( argv[0] );
return App.Run();
}
// Run() ---------------------------------void TApplication :: Run ()
{
if ( !hPrevInstance )
InitApplication ();
if ( Status == 0 )
InitInstance ();
if ( Status == 0 )
MessageLoop ();
else
Error ( Status );
}
// MessageLoop() ---------------------------------void TApplication :: MessageLoop ()
{
MSG Message;
while ( TRUE )
{
if ( PeekMessage ( &Message, 0, 0, 0, PM_REMOVE ) )
{
if ( Message.message == WM_QUIT )
break;
if ( ProcessAppMsg ( &Message ) )
{
TranslateMessage ( &Message );
DispatchMessage ( &Message );
}
}
else
IdleAction ();
}
Status = Message.wParam;
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.