| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Файлы WMF и ресурсы |
| Автор: C4EBA 12.9.2011, 21:31 | ||||
| Добрый день! Необходимо сохранить в ресурсах программы несколько векторных графических файлов WMF для того, чтобы во время работы программно загружать их в Image. Изучив на сайте материалы о ресурсах, я освоил работу с ресурсами, в которых содержались ВМР-файлы: создавал файл ресурсов и изображения из него загружал в Image. Учитывая, что и WMF, и ВМР можно на стадии разработки приложения загрузить в Image, я взял за основу работу с ресурсами для файлов BMP. Вначале я создал файл WMFRES.rc: ResTroinik Metafile F:\XE_Projects\Troinik.wmf Этот файл и файл Troinik.wmf положил в папку проекта, в проекте в меню Projec\Add to Projec.. выбрал WMFRES.rc. Сохранил и откомпилировал проект. В папке проекта появился файл ресурсов WMFRES.res. Добавил созданный ресурс в проект: {$R WMFRES.res} Попытался использовать файл из ресурса в проекте: загрузить его в Image при нажатии кнопки. По аналогии с кодом для ВМР-файла
начал записывать:
но для Metafile в выпадающем меню не нашел LoadFromResourceName, поэтому не смог загрузить файл. Вопросы: - правильно ли я сделал запись в WMFRES.rc для создания файла ресурсов? - как загрузить из файла ресурсов файлы WMF? |
| Автор: bems 13.9.2011, 16:21 | ||
вроде нет типа ресурса Metafile, используй RCDATA
|
| Автор: C4EBA 13.9.2011, 17:32 |
| Спасибо за подсказку. Попробую и отпишусь. |
| Автор: C4EBA 13.9.2011, 22:01 | ||||
| Все получилось, привожу решение. Создал файл WMFRES.rc: ResTroinik RCDATA F:\Delphi_XE_Projects\Troinik.wmf ResDetA RCDATA F:\Delphi_XE_Projects\DetA.wmf ResDetB RCDATA F:\Delphi_XE_Projects\DetB.wmf ResDetC RCDATA F:\Delphi_XE_Projects\DetC.wm Этот файл и файлы Troinik.wmf, DetA.wmf, DetB.wmf, DetC.wmf положил в папку проекта F:\Delphi_XE_Projects, в проекте в меню открыл Projec\Add to Projec.. выбрал WMFRES.rc. Сохранил и откомпилировал проект. В папке проекта появился файл ресурсов WMFRES.res. Добавил созданный ресурс в проект:
Закрыл окно WMFRES.rc. Удалил из окна Project Manager файл WMFRES.rc. Удалил из папки проекта файл WMFRES.rc и файлы Troinik.wmf, DetA.wmf, DetB.wmf, DetC.wmf. Добавил в обработчик Button1Click:
(вместо ResDetA можно указать ResDetВ, ResDetС или ResTroinik). Среда разработки - Дельфи ХЕ |
| Автор: C4EBA 14.9.2011, 08:39 |
Согласен. И к этой поддиректории указывают путь в rc-файле. То есть в моем примере создания rc-файла вместо ... ... ... F:\Delphi_XE_Projects\Troinik.wmf указывается путь к поддиректории, например ... ... ... F:\Delphi_XE_Projects\Resurs\Troinik.wmf И файлы WMFRES.rc, Troinik.wmf, DetA.wmf, DetB.wmf, DetC.wmf должны быть в поддиректории F:\Delphi_XE_Projects\Resurs\. |