Как нарисовать полупрозрачный прямоугольник на статичном тексте?

Я рисую полупрозрачный прямоугольник на своей панели, но в местах со статическим текстом прямоугольник не заполняется.

Я нарисовал прямоугольники внутри каждого статического текста, но когда я это делаю, соответствующий текст не появляется.

Как я могу нарисовать полупрозрачный прямоугольник внутри статического текста, не заставляя текст исчезать?

Код такой:

dc = wx.PaintDC(self)
gc = wx.GraphicsContext.Create(dc)
gc.SetBrush(wx.Brush(wx.Colour(255,  255,  0, 22))) # Translucid Yellow
gc.DrawRectangle(0, 0, self.GetClientSizeTuple()[0], self.GetClientSizeTuple()[1])

Мой статический текст уже прозрачен, но на нем все еще не появляется полупрозрачный прямоугольник! Как я могу это исправить?

заранее спасибо


person aF.    schedule 19.06.2010    source источник
comment
Я не уверен, что вы подразумеваете под полупрозрачным прямоугольником. Не могли бы вы уточнить, если это возможно? Вы имеете в виду полупрозрачный? Может быть, вы могли бы попробовать нарисовать прямоугольники под статическим текстом, а не над ним?   -  person Justin L.    schedule 19.06.2010
comment
когда я рисую под (на панели), я рисую элемент управления, и его фон берет на себя управление   -  person aF.    schedule 19.06.2010
comment
Не могли бы вы опубликовать минимальный, но полный рабочий пример. Кроме того, вы можете просто писать текст непосредственно в GC или вам действительно нужен статический текст? Наконец, на какой ОС вы работаете (некоторое время назад, а может быть, и сейчас у StaticText были проблемы с прозрачным фоном в Windows).   -  person tom10    schedule 21.06.2010


Ответы (1)


Свяжите событие onPaint со всеми текстами статистики.

person aF.    schedule 09.11.2011