БлогNot. Studio Express не может показать картинку из своих ресурсов?

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 [5783 просмотра]


теги: c++ ошибка памятка графика studio

К этой статье пока нет комментариев, Ваш будет первым