【问题标题】:wxWidgets: Drawing over childwxWidgets:绘制孩子
【发布时间】:2016-01-26 12:50:53
【问题描述】:

如何绘制 wxPanel 的子元素?我用的是经典的画法,

class Foo : public wxPanel {
...
    void on_paint(wxEventPaint &) {
        wxPaintDC dc(this);
        ... // stuff with dc
    }
...
}

但效果是我的东西被画了,而不是孩子被画在上面。我该如何做相反的事情?画在孩子身上?

我正在尝试达到类似的结果:

所以我有带有 EVT_PAINT 处理程序的 wxPanel 和 wxStaticText 作为它的孩子。我得到的是

画完孩子怎么画?

或者我应该放弃整个 wxStaticText 的想法而只使用 DrawText?这种方法有什么缺点吗?如果相关,我会使用等宽字体。

【问题讨论】:

    标签: c++ wxwidgets


    【解决方案1】:

    wxWidgets 不支持在原生控件上绘制(或以其他方式干扰它们的绘制),并且永远不会。您应该自己绘制文本或使用wxGenericStaticText(可能是修改版),它完全在 wxWidgets 中实现,因此可以自定义,这与原生控件不同。

    【讨论】:

    • 感谢您的回答 :) 由于我的用例非常简单,我将使用 wxDC::DrawText。
    猜你喜欢
    • 2015-04-23
    • 2014-10-12
    • 2016-03-12
    • 2016-06-17
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多