【发布时间】:2016-07-16 04:15:31
【问题描述】:
我已经实现了一个音乐键盘作为 Fixed 的子类,其中每个单独的键都是 DrawingArea 的子类,到目前为止,它工作得很好:自定义绘图代码暴露,按下 + 释放功能工作...... .看,这就是问题所在:我希望用户能够在鼠标向下的情况下将鼠标拖过键盘来播放它。我目前捕获按钮按下和释放信号,以及进入和离开通知。不幸的是,这并不完全有效,因为一旦鼠标被按下,小部件似乎就抓住了鼠标的焦点。这对于普通按钮是有意义的,但对于音乐键盘则不然。除了将整个键盘重写为一个巨大的 DrawingArea 之外,还有什么好的方法可以解决这个问题?
另外,这应该没关系,但如果确实如此,我使用的是 GTK#。
【问题讨论】:
-
尝试使用 EventBox 代替绘图区,看看是否得到不同的结果。也不要忘记将 CanFocus 设置为 true。