Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
WinAPI-ekz_shpory.docx
Скачиваний:
5
Добавлен:
25.09.2019
Размер:
185.19 Кб
Скачать
  1. Ресурсы. Файл ресурсов, текстовый, бинарный. Создание.

Приложение Windows может хранить в виде ресурсов текстовые строки, пиктограммы, курсоры различной формы, произвольные матричные графические изображения, меню, диалоговые панели, произвольные массивы данных и т. д.

После создания RC- файла его следует "скомпилировать" в двоичный файл ресурсов. Двоичные описания ресурсов загружаются в программу гораздо быстрее, чем, текстовые, поскольку программе не приходится их интерпретировать. Компилятор ресурсов генерирует двоичные описания ресурсов, определенных в текстовом виде и объединяет их с двоичными, хранящимися во внешних файлах. Результатом является файл расширением .RES. Для того чтобы скомпилировать RС - файл в RES - файл надо запустить компилятор ресурсов.

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

  1. Файл определения модуля. Назначение, основные директивы (относящиеся к коду и данным).

Файл определения модуля содержит информацию о том, что можно, а что нельзя делать с файлом (перемещать, читать и тому подобное)

Дает компоновщику сведения о работе многомодульной программы.

1) EXETYPE WINDOWS – для 16-бит, для 32 не нужна

2) CODE – что можно делать с программой

[FIXED | MOVEABLE] сегмент остается в фиксир.обл-ти памяти/может перемещ.

[DISCARDABLE | NONDISCARDABLE] может/не может быть выгружен

[PRELOAD | LOADONCALL]загруж. при запуске прил-я/при обращении к эл-ту

3) DATA – что можно делать с данными

[NONE | SINGLE | MULTIPLE] сегмент данных: нет,1, раздел.всеми процессами

[READONLY | READWRITE]

[PRELOAD | LOADONCALL]

[SHARED | NONSHARED] 1 копия сегмента: для всех процессов, для 1 процесса.

4) HEAPSIZE - размер свободной динамической памяти

5) STACKSIZE - размер стеков в байтах.

Пример.

CODE PRELOAD FIXED DISCARDABLE

DATA LOADONCALL MOVEABLE READWRITE MULTIPLE

HEAPSIZE 4096

STACKSIZE 8192

1. Перемещение модуля 1 в оперативной памяти CODE - запретить (FIXED)

2. Перемещение модуля 2 на жёсткий диск CODE - разрешить (DISCARDEBLE)

3. Данные загружать DATA - при обращении к ним (LOADONCALL)

4. Данные можно DATA - читать и изменять (READWRITE)

  1. Графический приборный интерфейс gdi. Состав, назначение.

Графический приборный интерфейс, или GDI (Graphics Device Interfасе), является связующим звеном между программой и графическим устройством вывода и служит для представлении программой визуально ориентированной информации пользователю. GDI представляет собой библиотеку процедур, которые обеспечивают создание графического интерфейса и управление им. Эта библиотека доступна как для Windows так и для любой прикладной программы (для пользователя).

Составные части:

  1. Display Context.

Это либо контекст устройства, либо программный контекст (контекст устройства, контекст отображения - dispaly context или device context). Представляет собой некоторую структуру, в которой записаны состояния устройства и состояния графических средств. Используется, так как слишком много параметров описывают даже простейшую фигуру.

К примеру, для рисования на экране простого объекта (прямоугольника), необходима следующая информация: размеры (длина, ширина), тип линии контура (сплошная, штриховая), взаимодействие с другими окнами, фоном (прозрачность, передний план и т.п.), разрешение и другое.

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

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

Windows устанавливает параметры области отсекания перед передачей его прикладной программе. Как уже отмечалось, в Windows для программы имеются две возможности получения доступа к DC: функции BeginPaint и GetDC. При использовании функции BeginPaint размеры области отсекания будут содержать именно тот участок рабочей области окна, который должен быть обновлен. В случае использования функции GetDC область отсекания охватывает всю рабочую область окна.

Б) Масштабирование – разница в реакции программы на изменение размеров окна.

Программа может реагировать на увеличение или уменьшение размеров окна по-разному, хотя и Windows самостоятельно проводит всю работу, связанную с изменением размеров окна

Возможность масштабирования является необходимой для Windows, поскольку позволяет использовать одни и те же графические функции, независимо от размеров окна.

В Windows существуют 8 методов (по лекциям – 6!) масштабирования.

  1. Графические функции GDI – набор стандартных функций:

  • Определяют положение внутри рабочей области

  • Операции с точками экрана

  • Рисование текста, линий, фигур

  • Заполнение фигур, областей

  • Работа с битовыми массивами

  • Рисование пиктограмм

  1. Средства (ресурсы) GDI – шрифты, кисти, перья, которые можно выбрать при рисовании. Они являются не модифицируемыми. Изменить ресурсы мы не имеем права. Кроме того, программист может создавать с помощью функций Windows и специальных программ свои собственные графические средства, например, шрифты. Но, независимо от источника возникновения, все графические средства должны находиться в DC, чтобы графические функции GDI могли их использовать. В DC имеется возможность хранения только одного экземпляра каждого графического средства.

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