當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby WIN32OLE_EVENT#handler=用法及代碼示例


本文簡要介紹ruby語言中 WIN32OLE_EVENT#handler= 的用法。

用法

WIN32OLE_EVENT#handler=

設置事件處理程序對象。如果 handler 對象根據 XXX 事件有 onXXX 方法,則在 XXX 事件發生時調用 onXXX 方法。

如果處理程序對象有 method_missing 並且沒有根據事件的方法,則調用 method_missing 並且第一個參數是事件名稱。

如果 handler 對象有 onXXX 方法,並且有 WIN32OLE_EVENT#on_event (‘XXX’){} 定義的塊,則執行塊,但在 XXX 事件發生時不調用處理程序對象方法。

class Handler
  def onStatusTextChange(text)
    puts "StatusTextChanged"
  end
  def onPropertyChange(prop)
    puts "PropertyChanged"
  end
  def method_missing(ev, *arg)
    puts "other event #{ev}"
  end
end

handler = Handler.new
ie = WIN32OLE.new('InternetExplorer.Application')
ev = WIN32OLE_EVENT.new(ie)
ev.on_event("StatusTextChange") {|*args|
  puts "this block executed."
  puts "handler.onStatusTextChange method is not called."
}
ev.handler = handler

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 WIN32OLE_EVENT#handler=。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。