wxWidgets Прозрачный wxTextCtrl

Я пытаюсь создать кастом прозрачный wxTextCtrl отъезжая от него и рисуя сам текст следующим образом:

BEGIN_EVENT_TABLE(TextLayer, wxTextCtrl)
EVT_PAINT(TextLayer::OnPaint)
EVT_ERASE_BACKGROUND(TextLayer::OnEraseBackground)
END_EVENT_TABLE()

void TextLayer::OnEraseBackground(wxEraseEvent& event) {}
void TextLayer::OnPaint(wxPaintEvent & evt)
{
wxAutoBufferedPaintDC  dc(this);
PrepareDC(dc);

wxGraphicsContext *gc = wxGraphicsContext::Create( dc );

if(gc)
{
dc.SetFont(GetFont());
dc.SetTextForeground(GetForegroundColour());
auto a = GetValue();
dc.DrawText(GetValue(), 0, 0);
delete gc;
}
}

но это не работает, это не прозрачно, как я должен делать это правильно?

0

Решение

Извините, но вы не сможете сделать прозрачный нативный элемент управления. У вас могут быть настраиваемые прозрачные элементы управления с помощью wxGTK (см. Пример «стирания»), но не встроенные.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]