[ruby-gnome2-doc-cvs] [Hiki] create - gtk2-tut-scrolledwindow

Zurück zum Archiv-Index

ruby-****@sourc***** ruby-****@sourc*****
2003年 8月 30日 (土) 16:34:39 JST


-------------------------
REMOTE_ADDR = 219.178.216.28
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/ja/?gtk2-tut-scrolledwindow
-------------------------
= スクロールドウィンドウ 
スクロールドウィンドウはスクロール可能な領域を作成し,その中に他のウィジェットを置くことができる.
スクロールドウィンドウにはどんな種類のウィジェットでも入れることができ,スクロールバーを使ってウィジェットのサイズを気にせずにアクセスできる.

スクロールバーを作成するには:

  Gtk::ScrolledWindow.new(hadjustment = nil, vadjustment = nil)

最初の引数は水平方向の((<アジャストメント|gtk2-tut-adjuestment>))で,2つ目は垂直方向の((<アジャストメント|gtk2-tut-adjuestment>))である.
省略するとスクロールバーウィジェットが自分自身で必要な((<アジャストメント|gtk2-tut-adjuestment>))を作成する.

次のメソッドはスクロールバーに対して適用されるポリシを設定する:

  Gtk::ScrolledWindow#set_policy(hscrollbar_policy, vscrollbar_policy)

引数はそれぞれ水平方向/垂直方向のスクロールバーのポリシを指定する.
ポリシとして使用できる値は次の2つのうちのどちらかである.

:Gtk::POLICY_AUTOMATIC
  スクロールバーが必要な場合のみスクロールバーを表示する.
:Gtk::POLICY_ALWAYS
  常にスクロールバーを表示する.

スクロールドウィンドウ内部にウィジェットを置くには:

  Gtk::ScrolledWindow#add_with_viewport(child)

{{image_right "scrolledwindow.png"}}
次のサンプルでは,縦横10個ずつ,計100個のボタンをテーブルに配置し,そのテーブルをスクロールドウィンドウ内に置いている.
{{br}}

  #! /usr/bin/env ruby
  require 'gtk2'
  
  Gtk.init
  window = Gtk::Window.new
  window.title = "Scrolled Window"
  window.signal_connect("destroy") {Gtk.main_quit}
  window.set_size_request(300, 300)
  
  scrolled_window = Gtk::ScrolledWindow.new
  scrolled_window.border_width = 10
  scrolled_window.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_ALWAYS)
  window.add(scrolled_window)
  
  table = Gtk::Table.new(10, 10, false)
  table.row_spacings = table.column_spacings = 10
  scrolled_window.add_with_viewport(table)
  (0...10).each do |i|
  	(0...10).each do |j|
  		table.attach_defaults(
  			Gtk::Button.new("button(#{i},#{j})"),
  			i, i + 1, j, j + 1
  		)
  	end
  end
  
  window.show_all
  Gtk.main






ruby-gnome2-cvs メーリングリストの案内
Zurück zum Archiv-Index