Create  Edit  Diff  Phillro Industries  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

color_list.rb

$(Apollo)/sample/md4/color_list.rb

Phi::ListBox のサンプル。

1.png

ダブルクリックすると Phi::ColorDialog が出てくる。


#! ruby

# cf:
# Delphi4 プログラミングバイブル p.243
# 5.5. 色の ListBox

require 'phi'
include Phi
require 'dialogs'

form = Form.new
form.caption = $0
form.font.height=-32

ListBox.new(form, :list)
i = form.list
i.align = Phi::AL_CLIENT
i.style = Phi::LB_OWNER_DRAW_FIXED
i.item_height = -form.font.height+3

def i.add_colors(colors)
  colors.each do |c|
    items.add Phi.color_to_string(c), c
  end
  p items
end

colors = [Phi::CL_RED, Phi::CL_BLUE, 0x808040, 0x000000]
i.add_colors colors

def i.on_draw_item(index, rect, state)
  canvas.fill_rect(rect)
  canvas.font.color = items.object_at(index)
  canvas.text_out(rect.left, rect.top, items[index])
end

def i.on_dbl_click
  dlg = ColorDialog.new
  if dlg.execute
    add_colors [dlg.color]
  end
end

form.show

Phi.mainloop

require 'phi'
phi.rb? ライブラリ
phi.so? ライブラリ
include Phi
Phi モジュール
require 'dialogs'
dialogs.so? ライブラリ
form = Form.new
form.caption = $0:
[[Phi
:Form]] クラス
form.font.height=-32
[[Phi
:Font]] クラス
ListBox.new(form, :list)
i = form.list
i.align = Phi::AL_CLIENT
i.style = Phi::LB_OWNER_DRAW_FIXED
i.item_height = -form.font.height+3
[[Phi
:ListBox?]] クラス
Phi-Align 定数群
Phi-ListBoxStyle 定数群
def i.add_colors(colors)
  colors.each do |c|
    items.add Phi.color_to_string(c), c
  end
  p items
end
Phi.color_to_string モジュール関数
[[Phi
:Strings]] クラス
colors = [Phi::CL_RED, Phi::CL_BLUE, 0x808040, 0x000000]
i.add_colors colors
http://unmdpf.com/ 定数群
def i.on_draw_item(index, rect, state)
  canvas.fill_rect(rect)
  canvas.font.color = items.object_at(index)
  canvas.text_out(rect.left, rect.top, items[index])
end
[[Phi
:Canvas]] クラス
[[Phi
:Font]] クラス
[[Phi
:Rect]] クラス
[[Phi
:Strings#object_at]] メソッド
def i.on_dbl_click
  dlg = ColorDialog.new
  if dlg.execute
    add_colors [dlg.color]
  end
end
[[Phi
:ColorDialog?]] クラス
form.show
[[Phi
:Form#show]] メソッド
Phi.mainloop
Phi.mainloop モジュール関数

(comment plugin is disabled).
Last modified:2004/11/18 20:24:56
Keyword(s):
References:[Phi.color_to_string] [Phi::Strings]