МЕХАНИЗМЫ ВЗАИМОДЕЙСТВИЯ ПРИЛОЖЕНИЯ С

ПОЛЬЗОВАТЕЛЕМ


План

Файл ресурсов

Меню приложения

Акселераторы


Файл ресурсов

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

иконки

курсоры мыши.

используемые в программе изображения;

строки символов;

меню;

ускорители клавиатуры;

диалоговые окна;

шрифты;

ресурсы, определяемые пользователем.

Помимо того, что ресурсы определяются до начала работы программы и добавляются в исполняемый файл, у них есть еще одна характерная черта. При загрузке bin-файла в память, РЕСУРСЫ В ПАМЯТЬ НЕ ЗАГРУЖАЮТСЯ. Только в случае, если тот или иной ресурс требуется для работы программы, программа сама загружает ресурс в память.

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

Все ресурсы, заранее определенные в Win32 API, называются стандартными.

Существует пять типов однострочного описания ресурса:

BITMAP.

CURSOR.

ICON.

FONT.

MESSAGETABLE.

Каждый из этих операторов загружает файл данных указанного типа в данные ресурса. После включения этих данных в данные ресурса могут применяться функции LoadBitmap (), LoadCursor () и LoadIcon () для непосредственного доступа к соответствующим данным в программе.

1. Функция LoadBitmap () загружает ресурс растрового изображения из файла ресурсов. В файле описания ресурсов приложения необходимо указать растровое изображение с помощью оператора BITMAP. Формат оператора имеет следующий вид:

BITMAPNAME BITMAP "BITMAPFILE. BMP"

По окончании использования растрового изображения, приложение должно вызвать функцию DeleteObject () для освобождения памяти, занимаемой изображением. Синтаксис функций следующий:

HBITMAP LoadBitmap (HINSTANCE hInst, LPCTSTR lpszBitmap)

Параметры:

hInst - хэндл приложения, в которое загружается растровое изображение;

lpsz Bitmap - указатель на строку с нулевым символом в конце, которая содержит имя ресурса растрового изображения, подлежащего загрузке.

Возвращаемое значение: при успешном выполнении - хендл загруженного растрового изображения, иначе - NULL.

Функция DeleteObject () удаляет логический объект, для создания которых применяется достаточно много функций. Синтаксис функции следующий.

BOOL DeleteObject (HGDIOBJ hGdiObject)

Параметры:

hGdiObject - хэндл объекта GDI. Этот параметр должен указывать хендл пера, растрового изображения, кисти, области, палитры или шрифта.

Возвращаемое значение: при успешном выполнении - TRUE, иначе - FALSE.

2. Функция LoadCursor () загружает ресурс курсора из файла ресурсов. Если курсор загружен в составе определения класса окна, то курсор мыши, находясь в пределах клиентской области окна, будет принимать форму загруженного курсора. В файле описания ресурсов приложения необходимо указать пиктограмму с помощью оператора CURSOR. Формат оператора имеет следующий вид:

CURSORNAME CURSOR "CURSORFILE. CUR"

Если требуется в разное время иметь разные формы курсора в клиентской области окна, то форма курсора класса окна должна быть установлена в NULL, а курсор должен быть указан путем вызова функции SetCursor () при получении каждого сообщения WM_SETCURSOR. Синтаксис функций следующий:

HCURSOR LoadCursor (HINSTANCE hInst, LPCTSTR lpszCursor)

Параметры:

hInst - хэндл приложения, в которое загружается курсор. Для загрузки системного курсора параметр hInst должен быть равным NULL;

lpszCursor - указатель на строку с нулевым символом в конце, которая содержит имя ресурса курсора, подлежащего загрузке. Если задан системный курсор, то параметр должен принимать одно из значений идентификаторов IDC_.

Возвращаемое значение: при успешном выполнении - хендл загруженного курсора, иначе - NULL.

3. Функция LoadIcon () загружает пиктограмму из файла ресурсов. В файле описания ресурсов приложения необходимо указать пиктограмму с помощью оператора ICON. Формат оператора имеет следующий вид:

ICONNAME ICON "ICONFILE. ICO"

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

HICON LoadIcon (HINSTANCE hInst, LPCTSTR lpszIcon)

Параметры:

hInst - хэндл приложения, в которое загружается растровое изображение;

lpszIcon - указатель на строку с нулевым символом в конце, которая содержит имя ресурса пиктограммы, подлежащей загрузке. Если задан системная пиктограмма, то параметр должен принимать одно из значений идентификаторов IDI_.

Возвращаемое значение: при успешном выполнении - хендл загруженной пиктограммы, иначе - NULL.

4. Функция AddFontResource () обычно используется для ввод ресурса шрифта из файла в таблицу шрифтов Windows. Таблица шрифтов содержит данные о шрифтах, доступных для приложения Windows. В качестве имен файлов шрифтов может быть указано:

файл. FON ресурса шрифта;

файл. FNT первичного растрового шрифта;

файл. TTF первичного шрифта TrueType;

файл. TTC коллекции шрифтов TrueType;

файл. FOT ресураса TrueType;

файл. OTF шрифта OpenType PostScript;

файл. MMM ресурса шрифта Type 1 с несколькими базовыми шрифтами;

файл. PFB двоичного представления шрифта Type 1;

файл. PFM метрики шрифта Type 1.

Синтаксис функции следующий:

int AddFontResource (LPCTSTR lpszFileName)

Параметры:

lpszFileName - указатель на строку с нулевым символом в конце, которая содержит допустимое имя файла шрифта.

Возвращаемое значение: при успешном выполнении - число добавленных шрифтов, иначе - NULL.

Если необходимо ввести шрифт, данные которого должны быть получены из нескольких файлов ресурса, в качестве параметра lpszFileName необходимо указать имена всех этих файлов, разделенные символом (|).

Окнам верхнего уровня должно быть отправлено сообщение WM_FONTCHANGE, чтобы работающие программы получили информацию об изменении состава доступных шрифтов. Удаляет из таблицы шрифтов Windows шрифты, содержащиеся в указанном файле, функция RemoveFontResource (). Обычно она применяется при обработке сообщения WM_DESTROY для удаления добавленных ресурсов шрифта. Синтаксис функции следующий:

BOOL RemoveFontResource (LPCTSTR lpszFileName)

Параметры:

lpszFileName - указатель на строку с нулевым символом в конце, которая содержит имя файла ресурса шрифта.

Возвращаемое значение: при успешном выполнении - TRUE, иначе - NULL.

Работу со шрифтами рассмотрим позже.


Информация о работе «Механизмы взаимодействия приложения с пользователем»
Раздел: Информатика, программирование
Количество знаков с пробелами: 21014
Количество таблиц: 2
Количество изображений: 0

Похожие работы

Скачать
48444
8
12

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

Скачать
38117
0
3

... изменения внешними программами в своих данных, т.к. доступ к COM-объекту возможен только через указатель на интерфейс; ·      COM-объект может быть использован приложениями, реализованными практически на любых современных средствах разработки приложений (алгоритмических языках), с любой внутренней организацией приложения, главное, чтобы средство разработки позволяло работать с указателями на ...

Скачать
53297
2
3

... типами устройств. Согласованность составных систем является балансом между согласованностью физической, синтаксической, семантической и стремлением получить преимущества оптимальных возможностей системы. ПРЕИМУЩЕСТВА СОГЛАСОВАННОГО ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ Согласованный интерфейс приносит пользователям и разработчикам экономию времени и средств. Пользователи выигрывают от того, если им понадобится ...

Скачать
68403
1
1

... надёжность системы, данный стандарт с успехом применяется в магистральных каналах связи. Сравнительный анализ существующих технологий представлен в Приложении А. 2. АНАЛИЗ И КОМПЛЕКС МЕРОПРИЯТИЙ ПО ОБСЛУЖИВАНЮ ЛОКАЛЬНОЙ СЕТИ СЛУЖБЫ ПО ДЕЛАМ ДЕТЕЙ СЕВЕРОДОНЕЦКОЙ ГОРОДСКОГО СОВЕТА   2.1 Административные, технические и программные характеристики Службы по делам детей Северодонецкой городской рады ...

0 комментариев


Наверх