#bada
#bada
Вопрос:
Я использую следующий код для установки фонового изображения на панель. Но ничего не устанавливается в качестве фона. Я все делаю правильно? Как установить фоновое изображение для панели, формы или контейнера?
Panel* pBgPanel = new Panel;
pBgPanel->Construct(*pLayout, Rectangle(10, 10, 320, 320));
AddControl(*pBgPanel);
Image bgImage;
bgImage.Construct();
Osp::Graphics::Bitmap * bgBitmap;
bgBitmap = bgImage.DecodeN(L"/Home/bg.png", BITMAP_PIXEL_FORMAT_ARGB8888);
Canvas* pCanvas = pBgPanel->GetCanvasN();
pCanvas->DrawBitmap(*(new Point(0,0)),*bgBitmap);
pCanvas->Show();
Ответ №1:
вы должны создать собственную панель ( class MyPanel : public Panel {}
), а затем переопределить функцию virtual void OnDraw (void)
, и там вы сможете нарисовать растровое изображение на холсте
не забудьте вызвать базовый компонент onDraw Panel::OnDraw();
для рисования, который у вас есть на панели;-)