Hatena::ブログ(Diary)

はけの徒然日記 このページをアンテナに追加 RSSフィード

2005 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 04 | 05 | 08 | 09 | 10 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 |
2011 | 01 | 02 | 03 | 04 | 11 | 12 |
2012 | 02 | 03 | 05 |
2014 | 02 | 03 | 04 | 05 | 12 |
2015 | 05 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 04 | 05 | 08 | 09 | 11 | 12 |
2017 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 |
2018 | 02 | 03 | 04 | 05 |

2011-03-27(Sun)

Visualu Ruby 自動レイアウト

VisualuRubyの勉強 その8

最近使用する機会があったので基本の勉強自動でレイアウトさせる方法。

環境は、WinXP上のActivescriptRuby ver.1.9.2p136(入手先

こちらのサンプルを参考にしました。


部品を縦に並べる場合

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

    self.extend VRVertLayoutManager
    self._init

f:id:hake:20110327090617j:image

部品を横に並べる場合

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

f:id:hake:20110327090618j:image


部品を縦横に並べる場合

他の部品と一緒にVRPanelを縦に並べてから、VRPanel上に横に並べたい部品を置く。

この場合、VRHorizLayoutManagerをincludeして使用する方法は不明。

f:id:hake:20110327090619j:image


ソース

  • 縦に並べる
# 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)

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hake/20110327/p1
リンク元