Не позволяйте размеру образца "image" обмануть вас, для выполнения того, что вы хотите, нужно всего несколько строк кода.
Поиск класса MyImageFrame
в файле image.cpp , это не что иное, как класс с частным полем растрового изображения, пользовательским конструктором для установки растрового изображения и размера окна клиента, и обработчик событий для EVT_PAINT
:
void OnPaint(wxPaintEvent& WXUNUSED(event))
{
wxPaintDC dc( this );
dc.DrawBitmap( m_bitmap, 0, 0, true /* use mask */ );
}
Поскольку вам не нужен класс фреймов, вот ваш рецепт: вы создаете простого потомка wxWindow
, который имеет похожий конструктор, обрабатывает рисование и дублирует методы wxStaticBitmap
, которые вы используете в своем коде. Может быть, просто один метод для установки нового растрового изображения и изменения размера элемента управления в соответствии с новыми размерами растрового изображения.