J'ai une barre d'outils qui utilise des images bitmap. Im en utilisant les bitmaps génériques du fichier d'exemple, et ils fonctionnent parfaitement bien.Utilisation de bitmaps à partir du fichier de ressources
Cependant quand j'essaye d'ajouter une nouvelle icône de bitmap pour cette instance son close.bmp (il est également correctement dimensionné 16x15 px comme toutes les autres icônes) mon programme me donne des erreurs.
J'ai juste besoin de savoir comment utiliser bitmaps à partir d'un fichier de ressources
erreurs
../../src/msw/toolbar.cpp(799): assert "Assert Failure" failed in
Realize():invalid tool button bitmap
Cant load bitmap 'close' from resources! Check.rc file.
ressources .rc
new BITMAP "bitmaps/new.bmp"
open BITMAP "bitmaps/open.bmp"
save BITMAP "bitmaps/save.bmp"
help BITMAP "bitmaps/help.bmp"
close BITMAP "bitmaps/close.bmp"
Cpp
{
// Set up toolbar
enum
{
Tool_new,
Tool_open,
Tool_save,
Tool_help,
Tool_close,
Tool_Max
};
wxBitmap toolBarBitmaps[Tool_Max];
#if USE_XPM_BITMAPS
#define INIT_TOOL_BMP(bmp) \
toolBarBitmaps[Tool_##bmp] = wxBitmap(bmp##_xpm)
#else // !USE_XPM_BITMAPS
#define INIT_TOOL_BMP(bmp) \
toolBarBitmaps[Tool_##bmp] = wxBITMAP(bmp)
#endif // USE_XPM_BITMAPS/!USE_XPM_BITMAPS
INIT_TOOL_BMP(new);
INIT_TOOL_BMP(open);
INIT_TOOL_BMP(save);
INIT_TOOL_BMP(help);
INIT_TOOL_BMP(close);
toolBar->AddTool(wxID_ANY, wxT("New"), toolBarBitmaps[Tool_new], wxNullBitmap, wxITEM_NORMAL, wxT("New IWEX Project"));
toolBar->AddTool(wxID_ANY, wxT("Open"), toolBarBitmaps[Tool_open], wxNullBitmap,wxITEM_NORMAL , wxT("Open IWEX Project"));
toolBar->AddTool(idFileClose, wxT("Close"), toolBarBitmaps[Tool_close], wxT("Close button"), wxITEM_NORMAL);
toolBar->Realize();
}
Bizarre. Quelle version de wxWidgets? Pour savoir si le coupable est le bitmap, copiez un bitmap actif (par exemple "new.bmp") et renommez-le ("close.bmp"). – Ripi2
@MaazAzeem, avez-vous appelé InitAllImageHandlers()? – Igor