МЕХАНИЗМЫ ВЗАИМОДЕЙСТВИЯ ПРИЛОЖЕНИЯ С
ПОЛЬЗОВАТЕЛЕМ
План
Файл ресурсов
Меню приложения
Акселераторы
Ресурсами называются некоторые данные, которые определяются еще до начала работы программы, особым образом добавляются в выполняемый файл и используются при работе программы. Яркими примерами таких данных являются:
иконки
курсоры мыши.
используемые в программе изображения;
строки символов;
меню;
ускорители клавиатуры;
диалоговые окна;
шрифты;
ресурсы, определяемые пользователем.
Помимо того, что ресурсы определяются до начала работы программы и добавляются в исполняемый файл, у них есть еще одна характерная черта. При загрузке 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.
Работу со шрифтами рассмотрим позже.
... шаблон с этим текстом и т.п.), которая на сегодняшний день весьма распространена в Web-дизайне. 6. Описание программы Разрабатываемое интернет-приложение предназначено для организации интерактивной многофункциональной электронной доски объявлений. Приложение устанавливается на сервере, поддерживающим выполнение PHP-скриптов не ниже третьей версии. Для работы приложения с данными необходима ...
... изменения внешними программами в своих данных, т.к. доступ к COM-объекту возможен только через указатель на интерфейс; · COM-объект может быть использован приложениями, реализованными практически на любых современных средствах разработки приложений (алгоритмических языках), с любой внутренней организацией приложения, главное, чтобы средство разработки позволяло работать с указателями на ...
... типами устройств. Согласованность составных систем является балансом между согласованностью физической, синтаксической, семантической и стремлением получить преимущества оптимальных возможностей системы. ПРЕИМУЩЕСТВА СОГЛАСОВАННОГО ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ Согласованный интерфейс приносит пользователям и разработчикам экономию времени и средств. Пользователи выигрывают от того, если им понадобится ...
... надёжность системы, данный стандарт с успехом применяется в магистральных каналах связи. Сравнительный анализ существующих технологий представлен в Приложении А. 2. АНАЛИЗ И КОМПЛЕКС МЕРОПРИЯТИЙ ПО ОБСЛУЖИВАНЮ ЛОКАЛЬНОЙ СЕТИ СЛУЖБЫ ПО ДЕЛАМ ДЕТЕЙ СЕВЕРОДОНЕЦКОЙ ГОРОДСКОГО СОВЕТА 2.1 Административные, технические и программные характеристики Службы по делам детей Северодонецкой городской рады ...
0 комментариев