║==│ Main Window / │\/│/\║
╟──┴────────────────────────/──────────┴──┴──╢
║ File Edit Help ║
╟─────────────────────────────────────────┬──╢
║ │| ║
║ ├──╢
║ │ ║
║ ├──╢
║ │ ║
║ │ ║
║ │ ║
║ Client area │ ║
║ │ ║
║ │ ║
║ │ ║
/║ │ ║\
| ║ │ ║ |
| ║ ├──╢ |
| ║ │| ║ |
| ╟──┬──┬────────────────────────────────┬──┼──╢ |
| ║<-│ │ │->│ ║ |
| ╚══╧══╧═════════════════════/══════════╧══╧══╝ |
| / / /
\ Sizing border / Vertical scroll bar
Horizontal scroll bar
Рис. 2 Компоненты окна приложения
Любая программа MS-DOS, написанная на языке C/C++, должна содержать функцию с именем main, которая первой получает управление. Приложение Windows должно содержать функцию с именем WinMain, определенную следующим образом:
int PASCAL WinMain (
HINSTANCE hInst,
HINSTANCE hPrevInst,
LPSTR lpszCmdLine,
int nCmdShow )
{ // Тело функции }
Библиотека классов ObjectWindows 2.0 использует функцию по умолчанию WinMain, которая проводит проверку ошибок и обработку исключений. WinMain начинает работу приложения и вызывает функцию OwlMain:
int OwlMain ( int argc, char* argv[] )
{ // Тело функции }
Функция OwlMain получает те же два аргумента, что и функция main стандартной программы для MS-DOS. OwlMain возвращает значение типа int. Параметр argc показывает число аргументов в командной строке, переданной приложению. Параметр argv, массив указателей на char, адресует эти аргумен ты, которые представлены в виде строк, ограниченных нулем ( argv[0] адресует имя программы ).
Пример программы, использующей вызов функции Windows API.
/* ------------------------------------------------------- *
* QwlMain : Window1.CPP
* ------------------------------------------------------- */
#include <windows.h>
int
OwlMain ( int /* argc */, char* /* argv */ [] )
{
MessageBox ( 0,
"Hello world!",
"First program",
MB_OK
);
return 0;
}
Помещение аргументов в скобки комментария /* */ позволяет избежать предупреждения компилятора о неиспользованных аргументах.
Библиотека классов ObjectWindows
Библиотека классов типа OWL предоставляет пользователю каркас прикладных программ, на основе которого создаются конкретные приложения. Опираясь на механизм наследования, пользователь создает новые классы, расширяя функциональные возможности имеющихся базовых классов.
OWL 2.x написана в соответствии со стандартом ANSI для языка C++. OWL не является единственной библиотекой классов для Windows. OWL производит непосредственный вызов функций API Windows, а применение встроенного кода не приводит к ощутимым затратам времени при использовании библиотеки классов.
Многочисленные классы OWL охватывают следующие основные области:
- Классы модулей и приложений: TModule, TApplication
- Окна: TWindow
- Управляющие классы: TControl
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.