0
我創建了「確認退出」對話框,以在退出時提示用戶。我已經成功將它連接到'exit'菜單命令,但我也想將它連接到window-close(X)按鈕。我怎樣才能做到這一點?我已經有了一些Java Swing的經驗,爲了完成這個任務,你必須添加一個窗口監聽器來調用這個提示符。有什麼類似的我必須在這裏做?FXRuby攔截窗口關閉
我創建了「確認退出」對話框,以在退出時提示用戶。我已經成功將它連接到'exit'菜單命令,但我也想將它連接到window-close(X)按鈕。我怎樣才能做到這一點?我已經有了一些Java Swing的經驗,爲了完成這個任務,你必須添加一個窗口監聽器來調用這個提示符。有什麼類似的我必須在這裏做?FXRuby攔截窗口關閉
做這樣的:
require 'fox16'
include Fox
class MyApp < FXMainWindow
def initialize(app)
@app = app
super(app, "Test", :height => 150, :width => 350, :opts=> DECOR_ALL)
self.connect(SEL_CLOSE, method(:on_close))
end
def create
super
show(PLACEMENT_SCREEN)
end
def on_close(sender, sel, event)
q = FXMessageBox.question(@app, MBOX_YES_NO, "Sure?", "You sure?")
if q == MBOX_CLICKED_YES
getApp().exit(0)
end
end
end
FXApp.new do |app|
MyApp.new(app)
app.create
app.run
end
一個更安全的方式退出將是 「getApp()出口(0)。」我正在使用FXRegistry,如果我退出時只是「退出」,它永遠不會寫入磁盤。這解決了它。 –
公平點。我更新了我的答案。謝謝。 –