class Fzeet::CommonDialog
Constants
- HookProc
Attributes
struct[R]
Public Class Methods
crackMessage(hwnd, uMsg, wParam, lParam)
click to toggle source
# File lib/fzeet/windows/comdlg/Common.rb, line 107 def self.crackMessage(hwnd, uMsg, wParam, lParam) window = @@instances[hwnd.to_i] args = { hwnd: hwnd, uMsg: uMsg, wParam: wParam, lParam: lParam, result: 0, window: window, sender: window } args end
new()
click to toggle source
# File lib/fzeet/windows/comdlg/Common.rb, line 123 def initialize @messages = {} end
Public Instance Methods
hookProc(hwnd, uMsg, wParam, lParam)
click to toggle source
# File lib/fzeet/windows/comdlg/Common.rb, line 129 def hookProc(hwnd, uMsg, wParam, lParam) args, result = nil, nil if (handlers = @messages[uMsg]) args ||= self.class.crackMessage(hwnd, uMsg, wParam, lParam) handlers.each { |handler| (handler.arity == 0) ? handler.call : handler.call(args) result = args[:result] } end result end
on(msg, &block)
click to toggle source
# File lib/fzeet/windows/comdlg/Common.rb, line 145 def on(msg, &block) (@messages[Fzeet.constant(msg, :wm_)] ||= []) << block self end