如何解决wxFrame的key event不好使的问题。
用wxWidgets做个程序,弄了一上午,那个wxFrame上的KeyDown事件怎么也不响应。后来找来wxWidgets本身的一个简单例
子,一个wxFrame,一个wxButton,当然,还有一个KeyDown事件。说来也奇怪,当我的焦点在button上时,wxFrame上的
KeyDown就好使了,而不在button上时,就不好使了,不知道wxFrame的源码是怎么写的。
郁闷了好久、不过后来在国外的一个专门讨论wxWidgets的forum上找到了答案,说wxFrame的key事件是有些不太好使,要想使 wxFrame上的key事件好使,就在wxFrame上放一个wxPanel,使用wxPanel的key事件就可以了。在wxPanel的key事件 调用wxFrame中的key事件。
郁闷了好久、不过后来在国外的一个专门讨论wxWidgets的forum上找到了答案,说wxFrame的key事件是有些不太好使,要想使 wxFrame上的key事件好使,就在wxFrame上放一个wxPanel,使用wxPanel的key事件就可以了。在wxPanel的key事件 调用wxFrame中的key事件。
如在wxPanel中的keydown事件代码
OnKeyDown(wxKeyEvent& event)
{
((wxFrame*)GetParent())->OnKeyDown(event);
}
{
((wxFrame*)GetParent())->OnKeyDown(event);
}
据说还有别的方法,比如用Connect方法将所有的子控件的事件和wxFrame的事件连起来。不过这些方法我没有试,如果哪位阅读了此文,可以去试一试。有什么结果,请回复。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构