我使用以下代码将背景图像设置为面板。但没有任何东西被设定为背景。我做得对吗?如何为面板,表单或容器设置背景图像?
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();
答案 0 :(得分:2)
你必须制作你的面板(class MyPanel : public Panel {}
),然后覆盖函数virtual void OnDraw (void)
,然后你可以将位图绘制到画布
不要忘记调用OnDraw Panel::OnDraw();
的基础来绘制面板上的绘图组件; - )