c++ - wxButton 在下一个按钮被选中后看起来仍然被选中

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

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

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

bool AcceptsFocusFromKeyboard() const { 
    return false;
}


virtual bool AcceptsFocus() const {
    return false;
}

但没有结果。

这只发生在 Windows 7、Win 8.1 和 Mac 上,看起来符合预期。

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

最佳答案

您不必为焦点正常工作而做任何特别的事情,只需确保您拦截而不跳过任何焦点事件,因为这样做确实会破坏 mentioned in the documentation

如果您可以通过对 wxWidgets 3 中的一个 wxWidgets 示例进行简单更改来重现该问题,请 open a ticket 解释如何操作。

关于c++ - wxButton 在下一个按钮被选中后看起来仍然被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30644888/

相关文章:

Java drawRect() 方法的尺寸很奇怪/错误

c++ - C++ Win32程序中,如何修改菜单的标题?

C++ 模板化 HashMap 实现错误

c++ - 32 位 Windows 上 C++ 应用程序可用的最大内存是多少?

java - RandomAccessFile 正确写入文件,但检索记录时失败

javascript - 分层 react View 中的状态传播

c# - 我可以从非虚拟化应用程序访问 Windows 虚拟商店中的文件和注册表项吗?

batch-file - 关闭/保存 Outlook 消息

c# - 上下文菜单 Shell 扩展在 Windows 7 64 位下不起作用

c++ - 在 C++ 中声明函数和方法的顺序重要吗