Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Загрузка иконок в wxImageList  (Прочитано 1132 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн RaMoN

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Загрузка иконок в wxImageList
« : 08 Октября 2010, 21:30:05 »
wxImageList *img_lst=new wxImageList(16,16,true);
wxIcon ico(_("ico"));
img_lst->Add(ico);

Под Windows постоянно пишет, что не может добавить ico в img_lst.
В сэмпле listctrl в wxWidgets/samples используется тот же способ. Все компилируется, но ошибка таже.
Подскажите, в чем проблема?

Оффлайн little_bit

  • Новичок
  • *
  • Сообщений: 48
  • Duke Nukem must die !!!
    • Просмотр профиля
Re: Загрузка иконок в wxImageList
« Ответ #1 : 09 Октября 2010, 08:02:21 »
Попробуй прописать нужный 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, вида :
(Нажмите, чтобы показать/скрыть)

Береш икону, открывешь ее Gimp'ом, сохраняешь как xpm файл потом пишешь #include "имя_файла.xpm" и на имя структуры которая в этом файле делаешь
imageList->Add(wxIcon( (char **) emblem_downloads_xpm));
Как-то так, наверно.

Оффлайн RaMoN

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Загрузка иконок в wxImageList
« Ответ #2 : 09 Октября 2010, 09:32:04 »
Дело в том, что в винде я иконы гружу из файлов с помощью функций винапи и сохраняю их. А потом их необходимо загружать в wxImageList с расширением .ico. То есть xpm возможности использоавть нет.
А в объект ico файл загружается. А в img_lst не хочет. Даже добавляя тип в конструкторе.

И еще одна проблема. Удалось загрузить файл *.bmp и присоединить его к wxListCtrl, но почему то ВСЕ строки wxListCtrl стали отображаться с этой картинкой.
Это все под виндой. В Linuxе с этим проблем нет.

Оффлайн little_bit

  • Новичок
  • *
  • Сообщений: 48
  • Duke Nukem must die !!!
    • Просмотр профиля
Re: Загрузка иконок в wxImageList
« Ответ #3 : 09 Октября 2010, 10:29:22 »
Понятно. По винде я ничего сказать не могу, я в ней только в quake играю да и то редко. Попробуй может на виджетовском форуме спросить, там много людей пишуших под винду, трабла наверняка известная :(.

 

Страница сгенерирована за 0.015 секунд. Запросов: 21.