Поделиться через


Практическое руководство. Управление ресурсами (C++)

Копирование и изменение ресурсов

Ресурсы можно скопировать из одного файла в другой, не изменяя их, или изменять язык или условие ресурса при копировании.

Вы можете легко скопировать ресурсы из существующего ресурса или исполняемого файла в текущий файл ресурса. Чтобы скопировать ресурсы, откройте оба файла, содержащие ресурсы одновременно, и перетащите элементы из одного файла в другой или скопируйте и вставьте их между двумя файлами. Этот метод работает для файлов скрипта ресурсов (RC) и файлов шаблона ресурсов (RCT) и файлов исполняемого файла (.exe).

Примечание.

Visual C++ содержит примеры файлов ресурсов, которые можно использовать в собственном приложении. Дополнительные сведения см. в разделе C пакет интерфейса пользователя ART: Общие ресурсы.

Вы не можете перетаскивать, копировать, вырезать или вставлять между файлами ресурсов в проекте (представление ресурсов) и автономными RC-файлами, открытыми в окнах документов. Это можно сделать в предыдущих версиях продукта. Используйте только метод перетаскивания между RC-файлами, открытыми вне проекта.

Копирование ресурсов

  1. Откройте отдельно два файла ресурсов. (См. раздел Используйте файлы скриптов ресурсов). Например, open Source1.rc и Source2.rc.

  2. Внутри первого RC-файла либо:

    • Использование метода перетаскивания

      1. Выберите ресурс, который вы хотите скопировать. Например, в Source1.rc выберите IDD_DIALOG1.

      2. Удерживайте клавишу CTRL и перетащите ресурс во второй RC-файл. Например, перетащите IDD_DIALOG1 из Source1.rc в Source2.rc.

        Совет

        Перетаскивание ресурса без удерживания клавиш CTRL перемещает ресурс, а не копирует его.

    • Использование метода копирования и вставки

      1. Щелкните правой кнопкой мыши ресурс, который нужно скопировать (например, Source1.rc) и выберите "Копировать".

      2. Щелкните правой кнопкой мыши файл ресурса, в который вы хотите вставить ресурс (например, Source2.rc) и нажмите кнопку "Вставить".

Примечание.

Чтобы избежать конфликтов с именами символов или значениями в существующем файле, Visual C++ может изменить значение символа ресурса или имя символа и значение при копировании в новый файл.

Во время копирования ресурса можно изменить его свойство "язык" и (или) "условие".

  • Язык ресурса указывает язык, используемый FindResource для идентификации ресурса, для которого вы ищете. Ресурсы могут иметь различия для каждого языка, который не связан с текстом, например ускорители, которые могут работать только на японской клавиатуре или растровом рисунке, который подходит только для локализованных сборок на китайском языке.

  • Условие ресурса — это определенный символ, задающий условие, при котором будет использоваться конкретная копия ресурса.

Язык и условие ресурса отображаются в скобках после имени ресурса в окне рабочей области . Здесь именованный IDD_AboutBox ресурс используется Finnish в качестве языка и его условия:XX33

IDD_AboutBox (Finnish - XX33)

Копирование существующего ресурса и изменение его языка или условия

В rc-файле или в окне представления ресурсов щелкните правой кнопкой мыши ресурс, который нужно скопировать, и нажмите кнопку "Вставить копию". Затем задайте следующее:

  • В списке языков выберите язык.

  • В поле условия введите условие.

Изменение ресурсов

Управляемые файлы ресурсов (RESX) — ЭТО XML-файлы. При добавлении файла управляемого ресурса в проект из диалогового окна "Добавление нового элемента" редактор управляемых ресурсов открывается по умолчанию.

Импорт и экспорт ресурсов

Графические ресурсы (растровые изображения, значки, курсоры, панели инструментов), HTML-файлы и пользовательские ресурсы можно импортировать для использования в Visual C++. Вы можете экспортировать те же типы файлов из проекта Visual Studio C++ в отдельные файлы, которые можно использовать вне среды разработки.

Примечание.

Типы ресурсов, такие как акселераторы, диалоговые окна и строковые таблицы, нельзя импортировать или экспортировать, так как они не автономные типы файлов.

Импорт ресурса в файл скрипта ресурса

  1. В представлении ресурсов щелкните правой кнопкой мыши узел скрипта ресурса (RC-файл), в который нужно добавить ресурс, и выберите "Импорт".

  2. Найдите и выберите имя файла растрового изображения (BMP), значка (ICO), курсора (.cur), HTML-файла (HTM) или другого файла для импорта.

  3. Нажмите кнопку "ОК ", чтобы добавить ресурс в файл скрипта ресурсов.

Примечание.

Процесс импорта работает одинаково независимо от выбранного типа ресурса. Импортированный ресурс автоматически добавляется в правильный узел этого типа ресурса.

Экспорт ресурса для использования за пределами Visual C++

  1. В представлении ресурсов щелкните правой кнопкой мыши ресурс, который нужно экспортировать и выберите "Экспорт". Вы можете принять текущее имя файла или ввести новый.

  2. Перейдите в папку, в которой нужно сохранить файл, и нажмите кнопку "Экспорт".

Требования

Win32

См. также

Файлы ресурсов
Практическое руководство. Создание ресурсов
Практическое руководство. Включение ресурсов во время компиляции