Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Графика в Windows

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Основные характеристики графики в операционной системе Windows, реализация объектно-ориентированной идеологии. Специфика и этапы разработки программного продукта, описывающего графический объект, на 32-битном ассемблере с использованием API-функции.
Краткое сожержание материала:

Размещено на

1. Цель работы

Изучить графику в Windows. Написать программу на 32-битном ассемблере, используя API-функции.

2. Теория

графика программный windows

В операционной системе Windows реализована объектно-ориентированная идеология. Базовый объект системы - окно, поведение которого определяется методом, называемым функцией окна. Графический образ окна на экране дисплея - прямоугольная рабочая область.

Независимо от своего типа любой объект Windows идентифицируется описателем или дескриптором (handle). Дескриптор - это ссылка на объект. Все взаимоотношения программного кода с объектом осуществляются только через его дескриптор.

Интерфейс прикладного программирования (API - Application Programming Interface) представляет собой совокупность 32-битных функций (Win32 API), которые предназначены для создания приложений (программ), работающих под управлением Microsoft Windows. Функции объявлены в заголовочных файлах. Главный из них - файл windows.h, в котором содержатся ссылки на другие заголовочные файлы.

В Win32 единицей работы компьютера является поток -- ход выполнения программы в рамках процесса (в контексте процесса). Поток выполняет программный код, принадлежащий процессу. Процесс -- это экземпляр выполняемой программы (но не ход ее выполнения). Он не является динамическим объектом и включает виртуальное адресное пространство, код и данные, файлы, синхронизирующие объекты, динамические библиотеки.

Каждое приложение создает, по меньшей мере, один первичный поток, но может создать и много потоков.

Любое приложение Windows представлено на экране дисплея как минимум одним окном с набором стандартных элементов управления. Различают следующие типы окон:

перекрывающие (overlapped window);

всплывающие (pop-up window);

дочерние (Child window);

слоистые (1ayered window) - особые окна, которые позволяют улучшить визуальный эффект, включая прозрачность.

Перекрывающие окна создаются функцией CreateWindowEx() со стилем WS_OVERLAPPEDWINDOW. Этот стиль определяет наличие заголовка, системного меню, кнопок минимизации и максимизации, кнопки закрытия окна и «толстой» рамки, позволяющей изменять размеры окна. Перекрывающие окна предназначены для главных окон приложений и могут иметь меню.

Всплывающие окна создаются функцией CreateWindowEx() со стилем WS_POPUP и предназначены для окон диалогов, окон сообщений и других окон временного использования, которые могут находиться вне главного окна приложения. Для того чтобы временное окно имело заголовок, рамку и системное меню, необходимо при его создании использовать комбинацию стилей WS_POPUPWINDOW | WS_CAPTION .

Дочерние окна создаются функцией CreateWindowEx() со стилем WS_CHILD и обычно используются для разделения клиентской области родительского окна на отдельные функциональные области.Дочерние окна могут иметьзаголовок, системное меню, кнопки минимизации и максимизации, рамку и полосы прокрутки, но не могут иметь меню. Дочерние окна всегда находятся в пределах клиентской области родительского окна, т.е. их координаты всегда отсчитываются от левого верхнего углародительского окна. Родительское окно может быть перекрывающим, всплывающим или даже другим дочерним окном.

3 Описание используемых API-функций

DefWindowProc

Вызывает процедуру окна по умолчанию, чтобы обеспечить стандартную обработку сообщения для любого окна. Эта функция гарантирует, что каждое сообщение обрабатывается.

LRESULT WINAPI DefWindowProc (

__in HWND HWND, // Дескриптор окна, процедуры, которые получили это сообщение.

__in UINT Msg, // Сообщение.

__in WPARAM WPARAM, // Дополнительная информация о сообщении. Содержание этого параметра зависит от значения параметра Msg.

__in LPARAM LPARAM // Дополнительная информация о сообщении. Содержание этого параметра зависит от значения параметра Msg.

);

InvalidateRect

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

BOOL InvalidateRect (

__in HWND HWND, // Дескриптор окна, процедуры, которые получили это сообщение.

__in CONST RECT * LPRECT, // Указатель на RECT структуру, которая содержит клиентские координаты прямоугольника, которые будут добавлены к области модификации. Если этот параметр равен NULL, вся клиентская область добавлена к области модификации.

__in BOOL bErase // Указывает, будет ли фон внутри области модификации удален при обновлении области обработки. Если этот параметр имеет значение TRUE, фон стирается при BeginPaint. Если этот параметр имеет значение FALSE, фон остается неизменным.

);

CreateWindowEx

Создает перекрывающее, всплывающее или дочернее окно с расширенным стилем окна.

HWND WINAPI CreateWindowEx (

__in DWORD dwExStyle, // Расширенный стиль создаваемого окна.

__in_opt LPCTSTR lpClassName, // Имя класса окна.

__in_opt LPCTSTR lpWindowName, // Заголовок окна.

__in DWORD dwStyle, // Стиль создаваемого окна.

__in Int х, // Первоначальное горизонтальное положение окна.

__in Int у, // Первоначальное вертикальное положение окна.

__in Int nWidth, // Ширина окна.

__in Int nHeight, // Высота окна.

__in_opt HWND hWndParent, // Окно владельца создаваемого окна.

__in_opt HMENU HMENU, // Дескриптор меню.

__in_opt HINSTANCE HINSTANCE, // Дескриптор экземпляра модуля, который будет связан с окном.

__in_opt LPVOID lpParam // Указатель на значение, которое будет передано через структуры (lpCreateParams члена), на которую указывает параметр LPARAM сообщения WM_CREATE. Это сообщение посылается в окно, созданное этой функцией перед возвратом.

);

DispatchMessage

Отправляет сообщение в оконную процедуру.

LRESULT WINAPI DispatchMessage (

__in сопзЬ MSG * LPMSG // Указатель на структуру, содержащую сообщение.

);

ExitProcess

Завершает процесс и все его нити.

VOID WINAPI ExitProcess (

__in UINT uExitCode // Код выхода из процесса.

);

GetMessage

Извлекает сообщение из очереди сообщений вызывающего потока.

BOOL WINAPI GetMessage (

__out LPMSG LPMSG, // Указатель на MSG структура, которая получает информационное сообщение из очереди сообщений потока.

__in_opt HWND HWND, // Дескриптор окна, сообщения которого должны быть восстановлены. Окно должно принадлежать текущему потоку.

__in UINT wMsgFilterMin, // Самый маленький номер сообщения, которое должно быть найдено.

__in UINT wMsgFilterMax // Самый большой номер сообщения, которое должно быть найдено.

);

GetModuleHandle

Возвращает дескриптор модуля для указанного модуля.

HMODULE WINAPI GetModuleHandle (

__in_opt LPCTSTR lpModuleName // Имя загружаемого модуля (либо .DLL, либо .EXE-файл).

);

LoadCursor

Загружает указанный курсор.

LoadCursor HCURSOR WINAPI (

__in_opt HINSTANCE HINSTANCE, // Дескриптор экземпляра модуля, исполняемый файл которого содержит курсор и должен быть загружен.

__in LPCTSTR lpCursorName // Имя курсора для загрузки.

);

LoadIcon

Загружает указанную иконку.

HICON WINAPI LoadIcon(

__in_opt HINSTANCE hInstance, // Дескриптор экземпляра модуля, исполняемый файл содержит иконку для загрузки. Этот параметр должен быть NULL, если загружается стандартная иконка.

__in LPCTSTR lpIconName // Имя иконки для загрузки.

);

PostQuitMessage

Указывает системе, что поток просит завершение.

VOID WINAPI PostQuitMessage(

__in int nExitCode // Код выхода из приложения.

);

RegisterClass

Регистрирует класс окна для последующего использования при вызове CreateWindow или CreateWindowEx функции.

ATOM WINAPI RegisterClass (

__in сопзЬ WNDCLASS * lpWndClass // Указатель на WNDCLASS структуры.

);

ShowWindow

Устанавливает состояние показа указанного окна.

BOOL WINAPI ShowWindow (

__in HWND HWND, // Дескриптор окна.

__in Int nCmdShow // Управл...

Другие файлы:

Windows ХР для бывалого бойца
Книга посвящена Windows ХР — новейшей версии Microsoft Windows. Популярно рассказано об истории ОС Windows, настройке Windows XР и корпоративной мигра...

Операционные системы Windows
История создания. Windows 9x/NT. Операционная система Microsoft Windows. Преимущества и недостатки Windows. Некоторые клавиатурные комбинации Windows...

Технология программирования на C++. Win32 API-приложения
Изложен начальный курс низкоуровневого программирования на C++ для Windows с использованием библиотеки Win32 API. Рассмотрены графический интерфейс Wi...

Составляющие Windows
Универсальная многоцелевая сетевая операционная система Windows NT Server. Использование Windows NT Workstation как невыделенного сервера в однорангов...

Windows Phone 8 Application Development Essentials
Windows Phone 8 replaces Windows Phone 7 devices with the Windows NT kernel found on many Windows 8 components. Windows 8 will give you more options t...