module Fzeet::ListBoxMethods
Public Instance Methods
[](i)
click to toggle source
# File lib/fzeet/windows/user/Control/ListBox.rb, line 104 def [](i) i = sendmsg(:getcursel) if i == :selected return '' if i == -1 || (len = textlen(i) + 1) == 1 ''.tap { |item| FFI::MemoryPointer.new(:char, len) { |buf| raise "GETTEXT failed." if sendmsg(:gettext, i, buf) == -1 item << buf.read_string } } end
append(items)
click to toggle source
# File lib/fzeet/windows/user/Control/ListBox.rb, line 120 def append(items) [*items].each { |item| p = FFI::MemoryPointer.from_string(item.to_s) raise 'ADDSTRING failed.' if [-1, -2].include?(sendmsg(:addstring, 0, p).tap { p.free }) } self end
clear()
click to toggle source
# File lib/fzeet/windows/user/Control/ListBox.rb, line 118 def clear; sendmsg(:resetcontent); self end
each() { |self| ... }
click to toggle source
# File lib/fzeet/windows/user/Control/ListBox.rb, line 144 def each; length.times { |i| yield self[i] }; self end
length()
click to toggle source
# File lib/fzeet/windows/user/Control/ListBox.rb, line 143 def length; raise 'GETCOUNT failed.' if (len = sendmsg(:getcount)) == -1; len end
selected=(i)
click to toggle source
# File lib/fzeet/windows/user/Control/ListBox.rb, line 130 def selected=(i) i = case i when -1; 0xffffffff when :first; 0 when :last; length - 1 else i end raise 'SETCURSEL failed.' if sendmsg(:setcursel, i) == -1 && i != 0xffffffff self end
textlen(i)
click to toggle source
# File lib/fzeet/windows/user/Control/ListBox.rb, line 102 def textlen(i) raise "GETTEXTLEN failed." if (len = sendmsg(:gettextlen, i)) == -1; len end