DrawRectangle()不会在最顶层的元素上绘制

时间:2016-01-19 14:18:04

标签: c++ wxwidgets

我有wxFramewxTextCtrl以及自定义图像类的其他成员,该成员来自wxWindow并且有wxImage构件。

wxFrame的{​​{1}} 事件函数中,我绘制了一个矩形,该矩形应位于位图的顶部,但不断在最后面的图层上绘制OnPaintwxTextCtrls

这是我的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()

2 个答案:

答案 0 :(得分:0)

在这些情况下,最可能的原因是绘制对象附加到窗口的顺序,即您可以在其余绘制对象的函数之后调用DrawRectangle()函数,但是如果附加DrawRectangle()在其他人之前的结果,它仍然在底部。

答案 1 :(得分:0)

这实际上不是一个问题,但是,是的,要确认你写的是什么:不,你不能在其他控件之上绘画,它根本不会像这样工作。我不确定你想做什么,但你需要找到另一种方法。