RUS  ENG 

Что же такое BitmapResource?

Страницы: 1
RSS
Что же такое BitmapResource?
 
Создал расширение на C# в VS 2012. Подключил, все работает. Но на месте иконки на панели отображается название модуля. Как туда запихнуть пиктограмму никак не пойму.
Что за идентификатор ресурса? Где его взять? Уже и имя в параметр BitmapResource забивал и путь до файла картинки, до файла ресурсов проекта. У других модулей там стоит число.
Можно поподробнее, где достать этот идентификатор? Видел подобные вопросы, но ответы там: Это ж идентификатор...
Заранее спасибо!
 
BitmapResource задает идентификатор ресурса Windows типа BITMAP (см. https://msdn.microsoft.com/en-us/library/windows/desktop/aa380680(v=vs.85).aspx). Т.о. изображение компилируется внутрь модуля, чтобы потом приложение могло загрузить картинку с помощью функции Windows API LoadBitmap. Если C# не позволяет манипулировать подобными ресурсами, Вы можете создать отдельный модуль (например с помощью C++ в той же VS2012) с подобными ресурсами и указать его в регистрации модуля в разделе ReosurceModule (для примера см. регистрацию плагина Piezo).
 
Ссылка не открывается.
Создал по MSDN файл только с ресурсами в С++. Код там никакой не писал, функции не реализовывал (сразу скажу, я в С++ профан). Библиотека скомпилировалась.
Скопировал библиотеку, указал путь. Надпись исчезла, значок не появился.
P.S. в модуле piezo в ToolButton тоже стоят идентификаторы, которых у меня всё ещё нет, как я понимаю.
 
1. В ссылке после https вставьте двоеточие, "съелось" при вставке в форум.
2. Значение BitmapResource в Реесте должно совпадать с идентификатором ресурса в DLL, у Вас похоже, что нет.
 
Я бы, конечно, сравнил бы, если бы знал, где он отображается. Где и как (в каком месте) посмотреть идентификатор ресурса в DLL?
 
//{{NO_DEPENDENCIES}}
// Включаемый файл, созданный в Microsoft Visual C++.
// Используется SksRes.rc
//
#define IDB_PNG1 136

// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

вот всё, что есть в файле...
 
Спасибо. Разобрался сам. Дело было в самом файле с иконкой. Мало того, что она должна быть 16*16, так она ещё должна быть 16 color.
Про размер в помощи есть, а вот про глубину цвета не видел...хотя может и просмотрел?
Страницы: 1