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

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

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

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

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

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

Создание обработчика - C++
Я вот заинтересовался темой обработчиков, и и мне стало интересно - а можно ли поставить обработчик (или будем говорить проще, хук) на...

Создание обработчика события - C++
1. помогите прописать обработчик события wm_Timer! 2. как в С++ builder XEвызвать окно добавления метода()...

Выход из обработчика события - C++
Подскажите пожалуйста как в С++ (Visual Studio 2008) выйти из обработчика событий. Конкретно: проект Windows Form Apllication, как выйти...

Синтаксис обработчика исключений - C++
При выполнении следующего кода исключение не отлавливается и компилятор выдает ошибку об необработанном исключении. Почему так ? int...

Два catch-обработчика - C++
Читаю книгу по с++ и там написано что catch-обработчик для int не имеет смысла когда есть catch-обработчик для типа double так как всё...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
05.12.2012, 21:22     Инициализация обработчика .PNG изображений в wxWindows #4
а если инициализировать через wxInitAllImageHandlers?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2012, 00:15     Инициализация обработчика .PNG изображений в wxWindows
Еще ссылки по теме:

Литература для написания обработчика прерываний MS DOS - C++
Нужна литература чтобы выполнить лабораторную по теме "Использование стандартных функций и разработка собственных прерываний в ОС MSDOS"....

Read PNG in C - C++
Всем привет. Подскажите как на С (без привлечения сторонних библиотек) прочитать PNG файл. В конечном итоге хотелось бы получить...

Считывание PNG - C++
Здравствуйте,форумчане) Пытаюсь прочитать PNG файл,вообще убейте не понимаю почему не работает.Даже длину и ширину нормально не...

Генерация PNG (проблема) - C++
//test3.cpp //---------------------------------------------------------- // #pragma pack(1) #include <stdio.h> #include...

Конвектор png в jpg - C++
Хочу написать прогу для конвертирования png формата изображения в jpg формат изображения. Можете объяснить как это реализуется, дать ссылки...

Чтение PNG файла - C++
описал структуру заголовка чанка struct _PNG_ChunkHead { unsigned int _length; char _type; }; после чтения чанка IHDR...


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

Или воспользуйтесь поиском по форуму:
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
Ответ Создать тему
Опции темы

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