0

次のコードを使用して、背景画像をパネルに設定しています。しかし、背景として何も設定されていません。私は物事を正しく行っていますか?パネル、フォーム、コンテナの背景画像を設定するには?

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();
4

1 に答える 1

2

独自のパネル(class MyPanel : public Panel {})を作成してから関数をオーバーライドするvirtual void OnDraw (void) 必要があり、そこでビットマップをキャンバスに描画できます

パネルにあるコンポーネントを描画するために OnDraw のベースを呼び出すことを忘れないでくださいPanel::OnDraw();;-)

于 2011-11-14T16:51:19.730 に答える