Shoes.app do
keypress do |k|
if k==:f1
alert("Foo bar")
end
end
button "foo"
end
按 F1 会弹出警告框,但是。一旦我单击按钮“foo”,即如果焦点更改为应用程序中的本机控件。不再捕获按键事件。有什么办法绕过它?
我用的是windows xp。
在撰写本文时,这仍然是 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
尽管此技巧适用于您问题中的示例,但我不确定它能否很好地转化为真正的应用程序。