Практическое руководство. Управление ресурсами (C++)
Копирование и изменение ресурсов
Ресурсы можно скопировать из одного файла в другой, не изменяя их, или изменять язык или условие ресурса при копировании.
Вы можете легко скопировать ресурсы из существующего ресурса или исполняемого файла в текущий файл ресурса. Чтобы скопировать ресурсы, откройте оба файла, содержащие ресурсы одновременно, и перетащите элементы из одного файла в другой или скопируйте и вставьте их между двумя файлами. Этот метод работает для файлов скрипта ресурсов (RC) и файлов шаблона ресурсов (RCT) и файлов исполняемого файла (.exe).
Примечание.
Visual C++ содержит примеры файлов ресурсов, которые можно использовать в собственном приложении. Дополнительные сведения см. в разделе CLIPART: Общие ресурсы.
Вы не можете перетаскивать, копировать, вырезать или вставлять между файлами ресурсов в проекте (представление ресурсов) и автономными RC-файлами, открытыми в окнах документов. Это можно сделать в предыдущих версиях продукта. Используйте только метод перетаскивания между RC-файлами, открытыми вне проекта.
Копирование ресурсов
Откройте отдельно два файла ресурсов. (См. раздел Используйте файлы скриптов ресурсов). Например, open Source1.rc и Source2.rc.
Внутри первого RC-файла либо:
Использование метода перетаскивания
Выберите ресурс, который вы хотите скопировать. Например, в Source1.rc выберите IDD_DIALOG1.
Удерживайте клавишу CTRL и перетащите ресурс во второй RC-файл. Например, перетащите IDD_DIALOG1 из Source1.rc в Source2.rc.
Совет
Перетаскивание ресурса без удерживания клавиш CTRL перемещает ресурс, а не копирует его.
Использование метода копирования и вставки
Щелкните правой кнопкой мыши ресурс, который нужно скопировать (например, Source1.rc) и выберите "Копировать".
Щелкните правой кнопкой мыши файл ресурса, в который вы хотите вставить ресурс (например, Source2.rc) и нажмите кнопку "Вставить".
Примечание.
Чтобы избежать конфликтов с именами символов или значениями в существующем файле, Visual C++ может изменить значение символа ресурса или имя символа и значение при копировании в новый файл.
Во время копирования ресурса можно изменить его свойство "язык" и (или) "условие".
Язык ресурса указывает язык, используемый FindResource для идентификации ресурса, для которого вы ищете. Ресурсы могут иметь различия для каждого языка, который не связан с текстом, например ускорители, которые могут работать только на японской клавиатуре или растровом рисунке, который подходит только для локализованных сборок на китайском языке.
Условие ресурса — это определенный символ, задающий условие, при котором будет использоваться конкретная копия ресурса.
Язык и условие ресурса отображаются в скобках после имени ресурса в окне рабочей области . Здесь именованный IDD_AboutBox
ресурс используется Finnish
в качестве языка и его условия:XX33
IDD_AboutBox (Finnish - XX33)
Копирование существующего ресурса и изменение его языка или условия
В rc-файле или в окне представления ресурсов щелкните правой кнопкой мыши ресурс, который нужно скопировать, и нажмите кнопку "Вставить копию". Затем задайте следующее:
В списке языков выберите язык.
В поле условия введите условие.
Изменение ресурсов
Управляемые файлы ресурсов (RESX) — ЭТО XML-файлы. При добавлении файла управляемого ресурса в проект из диалогового окна "Добавление нового элемента" редактор управляемых ресурсов открывается по умолчанию.
Импорт и экспорт ресурсов
Графические ресурсы (растровые изображения, значки, курсоры, панели инструментов), HTML-файлы и пользовательские ресурсы можно импортировать для использования в Visual C++. Вы можете экспортировать те же типы файлов из проекта Visual Studio C++ в отдельные файлы, которые можно использовать вне среды разработки.
Примечание.
Типы ресурсов, такие как акселераторы, диалоговые окна и строковые таблицы, нельзя импортировать или экспортировать, так как они не автономные типы файлов.
Импорт ресурса в файл скрипта ресурса
В представлении ресурсов щелкните правой кнопкой мыши узел скрипта ресурса (RC-файл), в который нужно добавить ресурс, и выберите "Импорт".
Найдите и выберите имя файла растрового изображения (.bmp), значка (.ico), курсора (.cur), html-файла (.htm) или другого файла для импорта.
Нажмите кнопку "ОК ", чтобы добавить ресурс в файл скрипта ресурсов.
Примечание.
Процесс импорта работает одинаково независимо от выбранного типа ресурса. Импортированный ресурс автоматически добавляется в правильный узел этого типа ресурса.
Экспорт ресурса для использования за пределами Visual C++
В представлении ресурсов щелкните правой кнопкой мыши ресурс, который нужно экспортировать и выберите "Экспорт". Вы можете принять текущее имя файла или ввести новый.
Перейдите в папку, в которой нужно сохранить файл, и нажмите кнопку "Экспорт".
Требования
Win32
См. также
Файлы ресурсов
Практическое руководство. Создание ресурсов
Практическое руководство. Включение ресурсов во время компиляции