首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wxWidgets透明wxTextCtrl

wxWidgets透明wxTextCtrl
EN

Stack Overflow用户
提问于 2016-08-02 01:35:09
回答 1查看 234关注 0票数 0

我正在尝试创建一个自定义的透明wxTextCtrl,通过驱动它并自己绘制文本,如下所示:

代码语言:javascript
复制
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;
    }
}

但是它不工作,它不透明,我该如何正确地做它呢?

EN

回答 1

Stack Overflow用户

发布于 2016-08-02 16:58:45

很抱歉,您将无法使本机控件透明。您可以使用wxGTK拥有自定义的透明控件(请参阅"erase“示例),但不能使用本机控件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38704899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档