Shoes.app do
keypress do |k|
if k==:f1
alert("Foo bar")
end
end
button "foo"
end
按F1会弹出警告框,但是。一旦我点击按钮“foo”,即焦点变为应用程序中的本机控件。不再捕获按键事件。 有什么方法可以解决它?
我正在使用windows xp。
答案 0 :(得分:2)
在撰写本文时,这仍是Windows上的Shoes中的一个错误。如果您能够清楚地重新绘制所有内容,那么您可以再次获得按键事件,例如:
Shoes.app do
def drawbutton
@holder.clear do
button "foo" do
drawbutton
end
end
end
@holder = stack
drawbutton
keypress do |k|
if k==:f1
alert("Foo bar")
end
end
end
虽然这个技巧适用于您的问题中的示例,但我不确定它是否可以很好地转换为真正的应用程序。