我有一个wxFrame,它有几个wxTextCtrl和一个自定义图像类的其他成员,这个类是从wxWindow派生的,并且有一个wxImage成员。
在wxFrame的OnPaint事件函数中,我绘制了一个矩形,该矩形应该位于位图的顶部,但一直被绘制在wxTextCtrls和wxBitmaps后面最底层。
这是我的OnPaint()
void MyPanel::OnPaint(wxPaintEvent& /*event*/)
{
wxPaintDC paintDC(this);
paintDC.SetBrush(wxBrush(wxColour(90, 156, 214, 255)));
paintDC.SetPen(wxPen(wxColour(90, 156, 214, 255)));
wxRect oRect(10,10,800,900);
paintDC.DrawRectangle(oRect);
}我从OnPaint内部用Refresh()调用MyPanel
发布于 2016-01-19 14:29:28
在这些情况下,最可能的原因是绘制对象被附加到窗口的顺序,即您可以在其余绘制对象的函数之后调用DrawRectangle()函数,但是如果您在其他对象之前附加DrawRectangle()的结果,则它仍然在底部。
发布于 2016-01-19 16:45:30
这实际上不是一个问题,但是,是的,为了证实您所写的内容:不,您不能在其他控件之上绘制,它根本不像这样工作。我不知道你想做什么,但你需要找到另一种方法。
https://stackoverflow.com/questions/34879135
复制相似问题