【问题标题】:wxButton still looking selected after next button gets selectedwxButton 在选择下一个按钮后仍然看起来被选中
【发布时间】:2015-08-19 03:02:17
【问题描述】:

面板上有几个wxButton。 wxButton 在获得焦点时会闪烁,但在选择新按钮后,上一个按钮不会停止闪烁。其中只有两个看起来被选中,例如如果第三个被选中,第一个看起来不错等等。

我尝试停止 SetFocus 事件的传播、子类化 wxButton 和覆盖方法

bool AcceptsFocusFromKeyboard() const { 
    return false;
}


virtual bool AcceptsFocus() const {
    return false;
}

但没有结果。

这仅在 Windows 7、Win 8.1 和 Mac 上发生,看起来与预期一样。

有人遇到过同样的问题吗?

【问题讨论】:

    标签: c++ user-interface windows-7 focus wxwidgets


    【解决方案1】:

    你不应该做任何特别的事情来让焦点正常工作,只要确保你拦截,没有跳过,任何焦点事件这样做确实会破坏@987654321 @。

    如果您可以通过 wxWidgets 3 对 wxWidgets 示例之一进行简单更改来重现该问题,请open a ticket 解释如何做到这一点。

    【讨论】:

    • 两件事我忘了说:1)wxWidgets 版本不是最新的,它是2.8(无法升级这个分支,正在更新其他分支)2)这个甚至可以复制只有两个按钮的简单对话框(即使有对话框块测试选项 - 没有事件跳过等)
    • 你对焦点的看法可能是对的,但目前我主要怀疑焦点。
    • 我似乎记得很久很久以前默认按钮管理代码中存在一个错误,如果您使用的是 2.8,您可能会受到它的影响。不幸的是,我没有足够的时间向您指出修复此问题的确切提交,我只能说这是很久以前的事了,一定影响了src/msw/{button,toplevel}.cpp 之一。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 2020-11-13
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多