Лабораторная работа N 1
Исследование способов создания приложения Windows
с использованием ObjectWindows 2.x ( OWL )
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Приложение Windows
Среда программирования Borland C++ 4.x ( BC4 ) и библио тека классов ObjectWindows 2.x ( OWL ) созданы для того, чтобы облегчить разработку приложений Windows.
Чтобы создать программу MS-DOS, достаточно иметь ее исходный текст, компилятор и редактор связей. Компилятор транслирует файлы исходного текста в один или несколько объектных модулей. Редактор связей собирает из этих модулей с использованием библиотек загрузочный модуль.
Стандартные приложения Windows собираются из нескольких разнородных файлов.
┌─────────────┐ ┌────────┐ ┌────────┐ ┌───────┐
│ *.c, *.cpp │ │ *.obj │ │ *.lib │ │ *.rc │
└─────────────┘ └────────┘ └────────┘ └───────┘
| | | |
\/ | | \/
╔═════════════╗ | | ╔════════╗
║ Компилятор ║ | | ║ rc.exe ║
╚═════════════╝ | | ╚════════╝
| |------| | |
\/ | | |
┌─────────────┐ | | |
│ *.obj │-----------| | | |
└─────────────┘ | | | |
\/ \/ \/ \/
┌─────────────┐ ╔═══════════════════╗ ┌───────┐
│ *.def │------>║ Редактор связей ║ │ *.res │
└─────────────┘ ╚═══════════════════╝ └───────┘
| |
\/ |
┌─────────┐ |
│ *.exe │-| |------|
└─────────┘ | |
| |
\/ \/
╔══════════╗
║ rc.exe ║
╚══════════╝
|
\/
┌─────────┐
│ *.exe │
└─────────┘
Рис.1 Сборка загрузочного модуля приложения Windows
Каждая программа должна использовать файл определения модуля (имя_файла.DEF), в котором указываются опции компоновщика, влияющие на тип создаваемого модуля и его характеристики.
NAME - имя приложения
DESCRIPTION - описание приложения
EXETYPE - определение типа модуля
STUB - программа, получающая управление при попытке запуска приложения в среде MS-DOS
CODE - атрибуты сегмента кода
DATA - атрибуты сегмента данных
HEAPSIZE - размер динамически распределяемой области в байтах
STACKSIZE - размер стека в байтах
/* ------------------------------------------------------- *
* QwlMain : Window1.DEF
* ------------------------------------------------------- */
NAME Window1
DESCRIPTION 'Window1 Application'
EXETYPE WINDOWS
STUB 'WINSTUB.EXE'
CODE PRELOAD MOVEABLE DISCARDABLE
DATA PRELOAD MOVEABLE MULTIPLE
HEAPSIZE 4096
STACKSIZE 8192
Для включения ресурсов в загрузочный модуль приложения используется текстовый файл описания ресурсов ( имя_ф.RC ). Файл описания ресурсов компилируется утилитой RC.EXE в двоичный файл ( имя_ф.RES ).
В данных приложениях файл описания ресурсов не используется.
Объекты пользовательского интерфейса
ОС Windows имеет встроенную поддержку ряда объектов интерфейса: окон, органов управления, блоков диалога и т.д. Среди всех объектов наиболее важными являются окна. Любая программа, взаимодействующая с пользователем, должна иметь хотя бы одно окно. Именно через окно принимается ввод мыши и клавиатуры и выполняется вывод на экран из программы.
Каждое приложение Windows создает по крайней мере одно окно, называемое главным окном. Большинство приложений создает также множество других окон, явно или неявно, для выполнения задач, связанных с главным окном. Например, блоки диалога реализуются в виде набора небольших окон внутри главного (или дочернего) окна.
Окно приложения Windows - это прямоугольная область на экране, в которой приложение производит вывод и получает ввод от пользователя. Окно разделяет экран с другими окнами, в том числе принадлежащим другим приложениям. Только одно окно в текущий момент может получить ввод от пользователя (является активным).
Когда пользователь запускает прикладную программу, он ожидает появления ее окна. Для завершения работы с программой пользователь закрывает соответствующее окно.
Окно, созданное приложением, может иметь заголовок (title bar), меню (menu bar), системное меню (system menu), кнопку минимизации (minimize box), кнопку максимизации (maximize box), границу размера (sizing border), клиентную область (client area), полосу горизонтальной прокрутки (horizontal scroll bar), полосу вертикальной прокрутки (verticalscrollbar).
System menu box Title bar Minimize box
/ / Menu bar / Maximize box
/ / / / /
╔══╤══════════════════════════/════════╤══╤══╗
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.