На этом шаге мы рассмотрим использование идентификаторов.
Windows требует, чтобы каждый ресурс имел уникальное имя или связанный с ним уникальный идентификатор (который называется идентификатором (ID) ресурса). По умолчанию Пакет разработчика ресурсов присваивает имя каждому новому ресурсу - например, DIALOG_1 для диалогового окна, МЕNU_1 для ресурса меню.
Идентификатор состоит из двух частей:
В одном проекте не может быть двух идентификаторов с одинаковым именем.
Программы Windows используют для уникальной идентификации каждого ресурса числа. Эти числа можно использовать в программе для идентификации ресурсов, с которыми вы хотите работать. Однако такая форма не слишком удобна. Для прикладных программ, написанных на языке С, для присваивания символьных определений значениям-константам используются определения #definе.
C помощью идентификаторов вы можете создавать значащие имена вместо малоосмысленных чисел. Например, хотя вы можете использовать для уникальной идентификации меню число 100, идентификатор вида FILE_MENU является значительно более описательным.
Чтобы создать файл идентификаторов, выберите команду File | Add to Project и используйте диалоговое окно Add File to Project.
Если вы не добавляете к проекту файл идентификаторов Пакет разработчика ресурсов может записывать все создаваемые для ресурса идентификаторы в активном файле проекта. Он записывает эти идентификаторы как определения #define.
Однако, если вы потом решите сгруппировать все определения #define в один или более файлов заголовков, то, чтобы извлечь их из записей ресурсов и вставить в файлы заголовков, нужно использовать текстовый редактор.
Поскольку данный процесс может потребовать времени и привести к ошибкам, лучше сначала перед работой с ресурсами задать файлы идентификаторов. Затем, когда вы создадите ресурсы, можно поместить каждый идентификатор в соответствующий файл идентификаторов, так как Пакет разработчика ресурсов запрашивает у вас при создании идентификатора, куда нужно его записать.
Есть два способа добавить идентификатор к проекту:
Например, предположим, что вы редактируете меню. По умолчанию Пакет разработчика ресурсов даст ему имя MENU_1. Если это меню файлов, вы решите переименовать его в MENU_FILE и выберете для этого Resource Rename. Если вы введете новое имя в окне Rename Resource и выберете ОK, Пакет разработчика ресурсов спросит у вас, хотите ли вы создать новый идентификатор, и при положительном ответе выведется диалоговое окно New Identifier.
Рис. 1. Диалоговое окно New Identifier
В поле Name введите нужное имя MENU_FILE. В поле Value вы можете либо ввести новое значение для идентификатора, либо принять выведенное значение, которые является уникальным для данной строковой таблицы.
В поле со списком File вы можете задать файл, в котором нужно сохранить идентификатор.
Идентификатор будет помещен в этот файл.
Вы можете также добавить идентификатор в файл непосредственно, не связывая предварительно идентификатор с ресурсом.
На следующем шаге мы рассмотри использование файлов заголовков языка С++.