top of page
  • 執筆者の写真bosi siro

wxWidget 背景の追加 自分用メモ

背景をパネル名panel_top_rightに追加する


//////Class

Class {

private:

//背景用

void OnImagePanelPaint(wxPaintEvent&);

wxPanel* panel_top_right;

wxBitmap m_scaledBg;

wxImage m_image;

void CreateScaledBg();

}


//////記述

panel_top_right = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(300, 200));

m_image = wxImage("BG.bmp", wxBITMAP_TYPE_ANY);

if (!m_image.IsOk())

{

return;

}



//////Bind

panel_top_right->Bind(wxEVT_PAINT, &MyFrame::OnImagePanelPaint, this);



//////Class Function


//パネルサイズと画像サイズを、パネル更新の度に確認する、

void MyFrame::OnImagePanelPaint(wxPaintEvent&)

{


if (panel_top_right->GetSize() != m_scaledBg.GetSize())

{

CreateScaledBg();

}


wxPaintDC dc(panel_top_right);

dc.DrawBitmap(m_scaledBg, 0, 0);

}


//画像サイズをpanel_top_rightに合わせる

void MyFrame::CreateScaledBg()

{

wxSize sz = panel_top_right->GetSize();

m_scaledBg = wxBitmap(m_image.Scale(sz.GetWidth(), sz.GetHeight(),

wxIMAGE_QUALITY_NORMAL));

}



閲覧数:0回0件のコメント

最新記事

すべて表示

C++ SFML マップのスクロール

本日は時間が無い為、突貫工事になる マップのスクロール機能を実装 以下が、追加分になる // プレイヤーを中心にスクロールするビューを作成 sf::View view(sf::FloatRect(0, 0, 800, 600));...

Comments


bottom of page