Попробуй прописать нужный BitmapType в констукторе иконы, типа wxIcon(_T("icon1"), wxBITMAP_TYPE_ICO), штоле.
см. user manual библиотеки ну или в файле wx/gdicmn.h со строки 46.
Вообще по винде ничего не подскажу, а под Linux вот так все работает например :
imageList = new wxImageList(24, 24, true, 0);
imageList->Add( wxIcon( wxT("applications-multimedia.bmp"), wxBITMAP_TYPE_BMP, 24, 24 ) );
imageList->Add( wxIcon( wxT("audio-volume-medium24.bmp"), wxBITMAP_TYPE_BMP, 24, 24 ) );
imageList->Add( wxIcon( wxT("emblem-downloads.bmp"), wxBITMAP_TYPE_BMP, 24, 24 ) );
Вообще иконы принято грузить из xpm файлов - это картинки сконвертированные из битмапов в исходники на C, вида :
/* XPM */
static const char* emblem_downloads_xpm[] = {
/* columns rows colors chars-per-pixel */
"24 24 157 2",
" c None",
/* pixels */
". c #707070",
"+ c #7B7B7B",
"$ c #D1D1D1",
"% c #848384",
..... // очень много
};
Береш икону, открывешь ее Gimp'ом, сохраняешь как xpm файл потом пишешь #include "имя_файла.xpm" и на имя структуры которая в этом файле делаешь
imageList->Add(wxIcon( (char **) emblem_downloads_xpm));
Как-то так, наверно.