0

我创建了一个面板,然后在绘画事件中我正在做渐变,在面板顶部我正在创建样式为 wxTRANSPARENT_WINDOW 的 wxstaticbitmap,但是 staticbitmap 的背景显示父背景颜色而不是渐变颜色,有人可以帮我解决这个问题,这里是我的代码

注意:我使用的是 png 类型的图像

代码:

MWpanel::MWpanel()
{
wxbitmap bitmapPNG
wxStaticBitmap *bit = new wxStaticBitmap(this ,-1 ,bitmapPNG ,wxDefaultPosition ,wxDefaultSize ,wxTRANSPARENT_WINDOW)

}
MWpanel::OnPaint(wxPaintEvent &event)
{
wxColour col1
wxColour col2
wxBufferedPaintDC dc(this);
dc.GradientFillLinear(wxRect(0, 0, this->GetSize().GetWidth(), this->GetSize().GetHeight()), col1, col2, wxSOUTH);

}
4

1 回答 1

0

您需要使用SetBackgroundStyle(wxBG_STYLE_TRANSPARENT)而不是wxTRANSPARENT_WINDOW. 有关示例代码,请参阅 wxWidgets 中包含的“擦除”示例。

于 2013-08-07T10:37:09.893 回答