Форум программистов, компьютерный форум CyberForum.ru

Инициализация обработчика .PNG изображений в wxWindows - C++

Восстановить пароль Регистрация
 
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
05.12.2012, 18:24     Инициализация обработчика .PNG изображений в wxWindows #1
Всем привет! При создании программы с графическим пользовательским интерфейсом при помощи библиотеки классов wxWindows возникла проблема инициализации обработчика .PNG изображений.
Пытаюсь разместить на форме кнопку с изображением, т.е. wxBitmapButton. В заголовочном файле .h определяю класс кнопки с изображением:
C++
1
class wxBitmapButton *button15;
В файле .cpp в обработчике первого сообщения создаю саму форму, метки, кнопки и т.д.
C++
1
2
3
4
5
6
7
bool iPhone::OnInit()
{
     wxImage::AddHandler(new wxPNGHandler); //Подключение обработчика изображений формата .PNG. Именно здесь ошибка.
     form1 = new wxFrame((wxFrame*) NULL, id_form1, "Name", wxPoint(100,100), wxSize(190,298)); //Создание главного окна программы
     ................. //Метки, кнопки и т.д.
     button15 = new wxBitmapButton(form1,id_button15,wxBitmap(wxT("off.png"),wxBITMAP_TYPE_PNG),wxPoint(65,85),wxSize(40,25)); //Собственно, сама кнопка с картинкой. Название совпадает, картинка лежит в папке проекта.
}
При сборке проекта компилятор выдает 2 ошибки:
1) incomplete type `wxImage' used in nested name specifier в строке wxImage::AddHandler(new wxPNGHandler);.
2) `wxPNGHandler' has not been declared в той же строке.
Во втором случае он аргумент функции принимает за необъявленную переменную. А вот в первом, насколько я понял, пишет, что тип `wxImage' не завершен.
Помогите, пожалуйста, разобраться.

Добавлено через 5 минут
Пробовал изменять в wxImage::AddHandler(new wxPNGHandler); wxImage на wxBitmap, ошибка первая исчезает, а вот вторая остается, компилятор видит ее почему-то как переменную, а не аргумент функции.

Добавлено через 16 минут
Есть люди, разбирающиеся в виджетах?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2012, 18:24     Инициализация обработчика .PNG изображений в wxWindows
Посмотрите здесь:

Выход из обработчика события C++
C++ создание обработчика события
C++ Два catch-обработчика
Генерация PNG (проблема) C++
Read PNG in C C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
05.12.2012, 18:28     Инициализация обработчика .PNG изображений в wxWindows #2
BoBaH26, хедеры подключены?
C++
1
#include "wx/image.h"
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
05.12.2012, 20:38  [ТС]     Инициализация обработчика .PNG изображений в wxWindows #3
Спасибо, даже не знал про это. Думал, что все в wx.h есть.
С подключением "wx/image.h" ошибок компилятор не выдает, но сама программа выдает фатальную ошибку: not a PNG file, получается, что у меня в MinGW отсутствует такая библиотека?

Добавлено через 9 минут
Картинки .PNG в проекте лежат, на всякий случай сделал и в .BMP, если меняю аргумент на new wxBMPHandler, пишет: No image handler for type 15 defined. И картинка не отображается.

Добавлено через 1 час 52 минуты
Неужели это не исправляется? Или никто не знает?
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
05.12.2012, 21:22     Инициализация обработчика .PNG изображений в wxWindows #4
а если инициализировать через wxInitAllImageHandlers?
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
06.12.2012, 00:15  [ТС]     Инициализация обработчика .PNG изображений в wxWindows #5
С wxInitAllImageHandlers; не рисует кнопки: No image handler for type 15 defined. Я так понял, что эта команда просто так и записывается, а не как аргумент?

Добавлено через 2 минуты
Вообщем, я разобрался, с .BMP не работало, потому что формат этот при инициализации кнопки указывал, а дальше в остальных аргументах .PNG оставалось. Сейчас с .PNG все работает, но вот почему он отказывается рисовать кнопку, если использовать wxInitAllImageHandlers;?
Yandex
Объявления
06.12.2012, 00:15     Инициализация обработчика .PNG изображений в wxWindows
Ответ Создать тему
Опции темы

Текущее время: 13:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru