Module: VRClipboardObserver

Includes:
VRMessageHandler
Defined in:
lib/vr/vrclipboard.rb

Constant Summary collapse

SetClipboardViewer =
Win32API.new('user32','SetClipboardViewer','L','L')
ChangeClipboardChain =
Win32API.new('user32','ChangeClipboardChain','LL','I')
WM_CHANGECBCHAIN =
781
WM_DRAWCLIPBOARD =
776

Constants included from VRMessageHandler

VRMessageHandler::PREHANDLERSTR

Instance Method Summary collapse

Methods included from VRMessageHandler

#acceptEvents, #addHandler, #addNoRelayMessages, #controlmsg_dispatching, #deleteHandler, #msghandlerinit, #selfmsg_dispatching

Instance Method Details

#clipboardobserverinitObject



34
35
36
37
38
39
40
# File 'lib/vr/vrclipboard.rb', line 34

def clipboardobserverinit
  @cbchainnext = SetClipboardViewer.call(self.hWnd)
  addHandler WM_DRAWCLIPBOARD,"drawclipboard",MSGTYPE::ARGNONE,nil
  addHandler WM_CHANGECBCHAIN,"vrchangecbchain",MSGTYPE::ARGINTINT,nil
  addHandler WMsg::WM_DESTROY,"vrcbdestroy",MSGTYPE::ARGNONE,nil
  acceptEvents [WM_DRAWCLIPBOARD,WM_CHANGECBCHAIN,WMsg::WM_DESTROY]
end

#self_vrcbdestroyObject



51
52
53
# File 'lib/vr/vrclipboard.rb', line 51

def self_vrcbdestroy
  ChangeClipboardChain.call self.hWnd,@cbchainnext
end

#self_vrchangecbchain(hwndremove, hwndnext) ⇒ Object



47
48
49
# File 'lib/vr/vrclipboard.rb', line 47

def self_vrchangecbchain(hwndremove,hwndnext)
  @cbchainnext=hwndnext if hwndremove == @cbchainnext
end

#vrinitObject



42
43
44
45
# File 'lib/vr/vrclipboard.rb', line 42

def vrinit
  super
  clipboardobserverinit
end