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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
#1

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

05.12.2012, 18:24. Просмотров 439. Ответов 4
Метки нет (Все метки)

Всем привет! При создании программы с графическим пользовательским интерфейсом при помощи библиотеки классов 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 минут
Есть люди, разбирающиеся в виджетах?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2012, 18:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Инициализация обработчика .PNG изображений в wxWindows (C++):

Загрузка изображений png файлов в CListCtrl - C++
Добрый день! Имеется следующая задача. В папке содержится н-ое число файлов типа png, необходимо отобразить эти рисунки в...

Объединение нескольких png файлов в один png-файл - C++
В общем надо написать програмулину, которая объединяет несколько png файлов (ширина и высота одинаковы у изображений) в один png-файл. ...

Отрисовка нескольких PNG изображений с прозрачностью - Delphi
Вопрос такой. Как мне можно отрисовать несколько PNG изображений в одной переменной а потом вывести на 1 имадж. Отрисовка будет...

Склеивание нескольких png изображений в одно - Java SE
Есть четыре картинки в png одинакового размера. Надо собрать из них одну - две в первой строке, две во второй. На C++ я это делал...

Не работает прозрачность для png изображений - C# WPF
Здравствуйте. Подскажите пожалуйста что можно сделать чтобы работала прозрачность на десктопном приложении wpf? У меня есть png файл но у...

Посоветуйте хороший компрессор изображений jpg, png, gif - Графические программы
Нужна программка для пакетной оптимизации изображений форматов jpg, png, gif. На примере сайта http://www.punypng.com/ только офлайн...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
05.12.2012, 18:28 #2
BoBaH26, хедеры подключены?
C++
1
#include "wx/image.h"
0
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
05.12.2012, 20:38  [ТС] #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 минуты
Неужели это не исправляется? Или никто не знает?
0
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
05.12.2012, 21:22 #4
а если инициализировать через wxInitAllImageHandlers?
0
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
06.12.2012, 00:15  [ТС] #5
С wxInitAllImageHandlers; не рисует кнопки: No image handler for type 15 defined. Я так понял, что эта команда просто так и записывается, а не как аргумент?

Добавлено через 2 минуты
Вообщем, я разобрался, с .BMP не работало, потому что формат этот при инициализации кнопки указывал, а дальше в остальных аргументах .PNG оставалось. Сейчас с .PNG все работает, но вот почему он отказывается рисовать кнопку, если использовать wxInitAllImageHandlers;?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2012, 00:15
Привет! Вот еще темы с ответами:

Сохранение изображений в формате png, gif, jpg, bmp - Visual Basic .NET
Сохраняя изображение из PictureBox в файл мы получаем несжатый битовый образ независимо от того какое расширение файла указываем. ...

Интерактивная карта или набор PNG изображений и действия при нажатии на них - Delphi
Добрый день, форумчане, хочу сделать вот так: http://mil.ru/, где карта страны поделенная на военные округа. В перспективе хочу сделать...

AJAX вместо результата обработчика возвращает, исходный код обработчика - JavaScript
Здравствуйте, начал изучать AJAX и столкнулся с проблемой, при GET запросе в котором я стучу в файл php и требую что бы он вернул текст с...

Вызов обработчика кнопки из другого обработчика. - Visual C++
Есть кнопка, есть у ней обработчик, который делает нечто полезное. Как вызвать выполнения обработчика этой кнопки из обработчика другой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.12.2012, 00:15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru