Операционная система Microsoft Windows 3.1 для программиста -том 1


Приложение TEXTOUT


Наше следующее приложение, которое называется TEXTOUT, отличается от предыдущего только использованной функцией окна. Функция окна теперь обрабатывает сообщение WM_PAINT и выводит в окно текст. Однако дополнительно мы полностью изменили структуру исходных текстов приложения и использовали некоторые возможности языка программирования C++.

Приложение TEXTOUT создает два класса с именами WinApp и Window (здесь имеются в виду классы C++, а не классы окон). Первый класс реализует приложение Windows как таковое, второй используется для создания фундаментальных объектов Windows - окон.

Для большего удобства и обозримости все исходные тексты приложения разбиты на несколько файлов.

Главным файлом, который содержит функцию WinMain, является файл textout.cpp (листинг 2.1).

Листинг 2.1. Файл textout/textout.cpp

// ---------------------------------------- // Вывод текста в окно приложения // ---------------------------------------- #define STRICT #include <windows.h> #include "window.hpp" #include "winapp.hpp" #include "textout.hpp" // Имя класса окна char szClassName[] = "TextoutAppClass"; // Заголовок окна char szWindowTitle[] = "Textout Application"; // ===================================== // Функция WinMain // ===================================== #pragma argsused int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) { // Указатель на объект класса Window - главное // окно приложения Window *PMainWindow; // Создаем объект класса WinApp - наше приложение WinApp App(hInstance, hPrevInstance, lpszCmdLine, nCmdShow); // Регистрируем класс для главного окна приложения App.RegisterWndClass(szClassName, (WNDPROC)WndProc); // Проверяем ошибки, которые могли возникнуть // при регистрации if(App.Error()) return App.Error(); // Создаем объект класса Window - главное // окно приложения PMainWindow = new Window(hInstance, szClassName, szWindowTitle); // Проверяем ошибки, которые могли возникнуть // при создании окна if(PMainWindow->Error()) PMainWindow->Error(); // Отображаем окно PMainWindow->Show(nCmdShow); // Посылаем в окно сообщение WM_PAINT PMainWindow->Update(); // Запускаем цикл обработки сообщений App.Go(); // Завершаем работу приложения return App.Error(); }




Начало  Назад  Вперед



Книжный магазин