hakeの日記

Windows環境でプログラミングの勉強をしています。

Visualu Ruby 自動レイアウト

VisualuRubyの勉強 その8
最近使用する機会があったので基本の勉強、自動でレイアウトさせる方法。
環境は、WinXP上のActivescriptRuby ver.1.9.2p136(入手先
こちらのサンプルを参考にしました。

部品を縦に並べる場合

VRVertLayoutManagerをincludeするか、ベースの部品にて以下を記述

    self.extend VRVertLayoutManager
    self._init


部品を横に並べる場合

VRVertLayoutManagerの代わりにVRHorizLayoutManagerを使用する。

部品を縦横に並べる場合

他の部品と一緒にVRPanelを縦に並べてから、VRPanel上に横に並べたい部品を置く。
この場合、VRHorizLayoutManagerをincludeして使用する方法は不明。

ソース

  • 縦に並べる
# coding: Windows-31J
require "vr/vrcontrol"
require "vr/vrlayout"


class MyVertForm < VRForm
# include VRVertLayoutManager
  def construct
    self.caption="VertLayout"
    self.move 250,250,200,200
    self.extend VRVertLayoutManager # includeする場合は不要
    self._init                       # 同上

    addControl(VRButton,"btn1","ボタン1")
    addControl(VRButton,"btn2","ボタン2")
    addControl(VRButton,"btn3","ボタン3")
    addControl(VRButton,"btn4","ボタン4")
  end
end


VRLocalScreen.start(MyVertForm)
  • 横に並べる
# coding: Windows-31J
require "vr/vrcontrol"
require "vr/vrlayout"


class MyHorizForm < VRForm
# include VRHorizLayoutManager
  def construct
    self.caption="HorizLayout"
    self.move 500,250,200,200
    self.extend VRHorizLayoutManager
    self._init

    addControl(VRButton,"btn1","ボタン1")
    addControl(VRButton,"btn2","ボタン2")
    addControl(VRButton,"btn3","ボタン3")
    addControl(VRButton,"btn4","ボタン4")
  end
end

VRLocalScreen.start(MyHorizForm)
  • 縦横に並べる
# coding: Windows-31J
require "vr/vrcontrol"
require "vr/vrlayout"


class MyMultiForm < VRForm
# include VRVertLayoutManager
  def construct
    self.caption="MultiLayout"
    self.move 250,250,200,200
    self.extend VRVertLayoutManager
    self._init

    addControl(VRButton,"btn1","ボタン1")
    addControl(VRButton,"btn2","ボタン2")
    addControl(VRPanel,"gr2","パネル1")
    @gr2.extend VRHorizLayoutManager
    @gr2._init

    @gr2.addControl(VRButton,"btn3","ボタン3")
    @gr2.addControl(VRButton,"btn4","ボタン4")
  end
end

VRLocalScreen.start(MyMultiForm)