Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
A05_API.doc
Скачиваний:
5
Добавлен:
12.11.2019
Размер:
1.3 Mб
Скачать

Контрольные вопросы

5.3. Примеры программ.

5.3.1. Простейшая программа для Windows. Для создания программы необходимо выполнить следующие действия:

  1. Запустить CodeGear RAD Studio for Microsoft Windows;

  2. В меню FileNew выбрать VCL Form Application – C++ Builder , будет создан новый проект;

  3. В меню Project выбрать пункт Remove from Project (Удалить из проекта);

  4. Удалить Unit1.cpp из проекта;

  5. В окне File выбрать Project1.cpp;

  6. Появившийся в окне редактора текст исправить следующим образом

#include <windows.h>

#include <vcl.h>

Int winapi WinMain (hinstance hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

Int CmdShow)

{

MessageBox(NULL,

Для продолжения нажмите на кнопку”,

Выполняется наипростейшая программа для Windows”,

MB_OK);

return 0;

}.

  1. Запустить программу.

На экране появится окно, представленное на рис. 5.2. Возможные действия с этой программой просты, и обсуждаться не будут, а содержание самой программы стоит обсудить.

Окно простейшей программы для Windows

Рис. 5.2

В первых двух строках программы находятся инструкции

#include <windows.h>

#include <vcl.h>.

Эти директивы подключают к программе главный заголовочный файл Windows-приложений и заголовочный файл компонентов VCL системы программирования.

Далее следует заголовок функции WinMain

Int winapi WinMain (hinstance hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int CmdShow).

С вызова этой функции всегда начинается выполнение программы. Функция возвращает значение целого типа, а получает значения следующих параметров:

- HINSTANCE hInstance – дескриптор приложения, Windows автоматически присваивает ему значение при запуске;

- HINSTANCE hPrevInstance – дескриптор предыдущего экземпляра приложения, если одновременно выполняется несколько экземпляров приложения; этот параметр остался для совместимости с ранними версиями Windows и поэтому всегда принимает нулевое значение;

- LPSTR lpCmdLine – указатель на строку, в которую копируются параметры приложения, если оно запускается в режиме командной строки; для Windows такой способ запуска программы скорее является экзотикой, т.к. запуск программы щелчком мыши не предполагает передачи каких либо параметров;

- int CmdShow – целое значение, которое может быть передано функции ShowWindow; этот параметр в нашем примере не используется и будет рассмотрен позже.

Спецификатор WINAPI определяет соглашения о вызове, т.е. принятывй в Windows порядок передачи параметров в функцию. Для нашей дальнейшей работы этой информации достаточно, поэтому нужно запомнить, что этот спецификатор должен присутствовать всегда.

Разобравшись с заголовком функции, перейдем к ее телу. Здесь имеется вызов функции MessageBox, которая, собственно, и выполняет всю содержательную работу приложения.

Возникют вопросы. Где цикл обработки сообщений? Где текст оконной процедуры? Ответ на поставленные вопросы заключается в том, что написание такой лаконичной программы стало возможным только благодаря использованию функции MessageBox. Если поближе познакомиться с указанной функцией, то можно обнаружить, что функция MessageBox создает, отображает и обслуживает окно сообщений. Окно сообщений – это диалоговое окно, содержащее указанное программистом текстовое сообщение и одну или несколько кнопок. Заголовок функции имеет вид:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]