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