Changeset 29101

Show
Ignore:
Timestamp:
01/27/09 09:26:46 (6 years ago)
Author:
isaisstillalive
Message:
  • RichがMSGFILTERで判断できるメッセージを追加。
Location:
lang/ruby/ruwin
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/ruwin/lib/ruwin/edit_field/rich.rb

    r29088 r29101  
    3434        super 
    3535         
    36         sendMessage EM_SETEVENTMASK, 0, ENM_KEYEVENTS|ENM_LINK 
     36        sendMessage EM_SETEVENTMASK, 0, ENM_KEYEVENTS|ENM_MOUSEEVENTS|ENM_LINK 
    3737         
    3838        self.background_color = @proparty[:background_color] if @proparty[:background_color] 
     
    7878        when WM_KEYDOWN 
    7979          [:keydown, wParam] 
     80        when WM_LBUTTONDOWN 
     81          x, y = LOWORD(lParam), HIWORD(lParam) 
     82          [:lmousedown, x, y] 
     83        when WM_RBUTTONDOWN 
     84          x, y = LOWORD(lParam), HIWORD(lParam) 
     85          [:rmousedown, x, y] 
    8086        end 
    8187      end 
  • lang/ruby/ruwin/test/ruwin/edit_field/test_rich.rb

    r29088 r29101  
    8383  end 
    8484   
    85   def test_en_msgfilter 
    86     klass = Class.new(Ruwin::EditField::Rich) 
    87     instance = klass.new(HiddenWindow.new) 
    88      
    89     lParam = SWin::Application.arg2cstructStr("UUUUUU", 0, 0, 0, WM_KEYDOWN, 1, 0) 
    90     lParam_ptr = [lParam].pack("P").unpack("L")[0] 
    91     msg = DummyMSG.new nil, nil, nil, lParam_ptr 
    92     assert_equal [:keydown, 1], instance.en_msgfilter(msg) 
     85  [ 
     86    %w{WM_KEYDOWN     [:keydown,\ 11]}, 
     87    %w{WM_LBUTTONDOWN [:lmousedown,\ 1,2]}, 
     88    %w{WM_RBUTTONDOWN [:rmousedown,\ 1,2]}, 
     89  ].each do |(message, args)| 
     90    class_eval <<-"END" 
     91      def test_en_msgfilter_#{message} 
     92        klass = Class.new(Ruwin::EditField::Rich) 
     93        instance = klass.new(HiddenWindow.new) 
     94         
     95        lParam = SWin::Application.arg2cstructStr("UUUUUU", 0, 0, 0, #{message}, 11, 1|2<<16) 
     96        lParam_ptr = [lParam].pack("P").unpack("L")[0] 
     97        msg = DummyMSG.new nil, nil, nil, lParam_ptr 
     98        assert_equal #{args}, instance.en_msgfilter(msg) 
     99      end 
     100    END 
    93101  end 
    94102