Studio Express не может показать картинку из своих ресурсов?
Просто не вижу другого варианта. Полной сборки сейчас под рукой нет.
Действия были такими: Ctrl + Alt + L (то есть, перейти в окно Обозреватель решений) - папка Файлы ресурсов - (правая кнопка мыши) - Добавить - Существующий элемент - показываем на нужный файл. На форме только PictureBox
.
Два варианта кода для кошки из этой заметки:
Reflection::Assembly^ pxAssembly = Reflection::Assembly::GetExecutingAssembly(); String^ pxResName = pxAssembly->GetName()->Name + ".Form1"; System::Resources::ResourceManager ^s_pxResourceManager = (gcnew Resources::ResourceManager(pxResName,pxAssembly)); pictureBox1->Image = (cli::safe_cast<Drawing::Bitmap^>(s_pxResourceManager->GetObject("cat.png")));
System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid)); pictureBox1->BackgroundImage = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject("cat.png")));
Оба не "ругаются" при компиляции или runtime, но и не показывают картинки. BackgroundImage
вместо Image
не помогает.
Вообще-то выход понятен - просто взять ImageList
, и использовать картинки оттуда. Но стало интересно... потом посмотреть:
для использования ресурсов свой формы - достаточно System::ComponentModel::ComponentResourceManager;
для использования ресурсов всей программы - Assembly Class
или вот ещё.
msdn: Работа с ресурсами
19.11.2015, 02:26 [5866 просмотров]