При программировании в среде MS DOS исполняемый модуль содержал машинные коды, получаемые в результате компиляции и компоновки исходных текстов, написанных на одном или нескольких различных языках программирования. В принципе, кроме машинных команд в исполняемом модуле были и данные, но они определялись в исходных модулях как часть текста программы с соблюдением синтаксиса используемого языка. В некоторых случаях, например при необходимости описания иерархических меню, требовались довольно большие массивы данных для задания соподчиненности пунктов меню, их названий, расположения на экране и прочих функций. Как правило, эти данные вводились программой из отдельного файла уже в процессе ее работы. Это позволяло перестраивать меню, не изменяя текста программы.

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

В принципе, пользователь может помещать в гс-файл любые данные и потом обращаться к ним из программы при помощи функций FindResource() и Load-ResourceO. Обычная для чтения данных последовательность открытия, чтения и закрытия файла при этом не нужна. Данные ресурсов являются частью исполняемого модуля, поэтому приложению известно, откуда их читать. Но в Windows предусмотрен ряд стандартных ресурсов, для которых среда разработки предоставляет визуальные средства формирования, а операционная система - специализированные функции загрузки и обработки. Основные типы этих ресурсов приведены в следующем списке: О Шаблоны меню, которые описывают пункты меню и связывают с ними идентификаторы. При выборе пункта меню формируется сообщение WM_COMMAND. При этом заданная в ресурсе команда позволяет поставить в соответствие пункту меню функцию, осуществляющую реакцию на выбор этого пункта.


⇐ Предыдущая| |Следующая ⇒