Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы Word.docx
Скачиваний:
34
Добавлен:
16.03.2016
Размер:
352 Кб
Скачать
☆

Сообщения, посылаемые списку

  1. lb_addstring– добавление строки;

  2. lb_deletestring– удаление строки;

  3. lb_gettext– получение текста выделенного элемента;

  4. lb_getcursel– получение номера выделенного элемента;

  5. lbn_dblclk– проверка на двойное нажатие кнопки мыши;

  6. lb_findstring– поиск строки;

  7. lb_err – ошибка функции SendMessage;

  8. lb_getcount– получение количества элементов в списке.

Вопросы для подготовки к сдаче лабораторной работы.

  1. Что означает термин API?

  2. Понятие окна в операционной системе Windows.

  3. Визуальные элементы управления в операционной системе Windows.

  4. Каким образом вызываются API-функции?

  5. Какая последовательность создания окон в операционной системе Windows.

  6. Что понимается под термином «сообщение»?

  7. Что такое «очередь сообщений» в операционной системе Windows.

  8. Как необходимо проводить обработку сообщений в операционной системе Windows.

  9. Какие API-функции для работы с окнами вы знаете?

  10. Что означает сообщение WM_PAINT?

Лабораторная работа №4

Разработка оконных приложений с использованием ресурсов

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

Использование ресурсов дает две вполне определенные выгоды:

  1. Ресурсы загружаются в память лишь при обращении к ним, тем самым достигается экономия памяти.

  2. Свойства ресурсов поддерживаются системой автоматически, не требуя от программиста написания дополнительного кода.

Описание ресурсов хранится отдельно от программы в текстовом файле (rc)и компилируется (res)специальным транслятором ресурсов. В исполняемый файл ресурсы включаются компоновщиком. Транслятором ресурсов в пакетеMASM32 являетсяRC.EXE.

Язык описания ресурсов

В настоящее время существует большое количество редакторов ресурсов.

Перечислим наиболее употребляемые ресурсы:

  • пиктограммы;

  • курсоры;

  • битовая картинка;

  • строка;

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

  • меню;

  • акселераторы.

Пиктограммы

Могут быть описаны в самом файле ресурсов, либо хранится в отдельном ico-файле. Рассмотрим последний случай. Вот файл ресурсовresu.rc:

#define IDI_ICON1 1

IDI_ICON1 ICON “Cdrom01.ico”

Как видите, файл содержит всего две значимы строки. Одна строка определяет идентификатор пиктограммы, вторая – ассоциирует идентификатор с файлом Cdrom01.ico. Язык ресурсов очень напоминает язык Си. Откомпилируем текстовый файлresu.rc:RC resu.rc. На диске появится объектный файлresu.res. При компоновке укажем этот файл в командной строке:

LINK/subsysem:windowsresu.objresu.res

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

PUSH IDI_APPLICATION

PUSH 0

CALL LoadIconA8

MOV [WC.CLSHICON], EAX

А вот фрагмент программы для установки пиктограммы указанной в файле ресурсов:

PUSH 1 ; идентификатор пиктограммы-см. файл resu.rc

PUSH [HINST] ; идентификатор процесса

CALL LoadIconA@8

MOV [WC.CLSHICON], EAX

Структура значка

NotifyIconDataA STRUCT

cbSize DWORD ?;размер структуры

hwnd DWORD ?;дескриптор окна

uID DWORD ?;идентификатор пиктограммы

uFlags DWORD ?;флаги

uCallbackMessage DWORD ?;идентификатор сообщения

hIcon DWORD ?;дескриптор пиктограммы

szTip DWORD ?;сообщение,которое будет

;отображаться

NotifyIconDataA ENDS