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

Back to archive index

ruby-****@sourc***** ruby-****@sourc*****
2003年 8月 24日 (日) 21:41:14 JST


-------------------------
REMOTE_ADDR = 219.178.216.28
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/ja/?gtk2-tut-aspectframe
-------------------------
= アスペクトフレーム 
アスペクトフレームウィジェットはフレームウィジェットに似ているが,必要に応じてスペースを空けるなどして子ウィジェットのアスペクト比(幅と高さの比)を一定に保つという点で異なる.
これは,例えば大きなイメージのプレビューを表示する際に便利である.
プレビューのサイズはユーザがウィンドウをリサイズすると変化するが,そのアスペクト比は元のイメージと同じであることが望ましい.

新しくアスペクトフレームを作成するには:

  Gtk::AspectFrame.new(label, xalign, yalign, ratio, obey_child)

xalignとyalignには((<アラインメントウィジェット|gtk2-tut-alignment>))と同様のアラインメント値を与える.
もしobey_childがtrueなら,子ウィジェットのアスペクト比は子ウィジェットが要求する理想的なサイズに保たれう.falseを指定するとアスペクト比はratioになる.

既にあるアスペクトフレームのオプションを変更するには以下のメソッドを使う.

  Gtk::AspectFrame#set(xalign, yalign, ratio, obey_child)

次のサンプルは,ユーザがトップレベルウィンドウをリサイズしてもドローイングエリアのアスペクト比を常に 2:1に保つようになっている.

  #! /usr/bin/env ruby
  
  require 'gtk2'
  
  Gtk.init
  
  window = Gtk::Window.new
  window.title = "Aspect Frame"
  window.signal_connect("destroy") {Gtk.main_quit}
  window.border_width = 10
  
  aspect_frame = Gtk::AspectFrame.new(
  	"2x1",    # label
  	0.5,      # xalign
  	0.5,      # yalign
  	2,        # ratio == xsize/ysize
  	false     # ignore child's aspect
  )
  
  window.add(aspect_frame)
  
  drawing_area = Gtk::DrawingArea.new
  drawing_area.set_size_request(200, 200)
  aspect_frame.add(drawing_area)
  
  window.show_all
  
  Gtk.main






ruby-gnome2-cvs メーリングリストの案内
Back to archive index