メッセージ(Message)

メッセージは文字列を表示するためのウィジェットです.ラベルとは違い,イメージは表示できません.ただ,最初から複数行にわたる文字列を表示する必要がある場合は,メッセージウィジェットを使用する方が簡単です.

Ruby/TkではTkMessageクラスが相当します.

使用例を示します.

#!/usr/local/bin/ruby

require 'tk'

string = "昔むかし,おじいさんとおばあさんが住んでいたそうな.\nおじいさんは山へ柴刈に,おばあさんは川で洗濯をしておったそうな.\nある日,おばあさんが川で洗濯をしておったら大きな桃がどんぶらこ,どんぶらこと流れてきたそうな.\n(以下続く)"

label1 = TkMessage.new(nil, 'text' => string,
		       'aspect' => 200)
label1.pack('side' => 'top', 'fill' => 'both')

quitbutton = TkButton.new(nil, 'text' => 'quit',
		  'command' => proc{exit})
quitbutton.pack('side' => 'bottom', 'fill' => 'both')

Tk.mainloop
上記のプログラムを走らせると,下のようになります.

TkMessageクラスのインスタンス変数を以下に示します.

インスタンス変数(抄)
インスタンス変数名 役割
background 背景色.
foreground 前景色.
anchor 配置場所.'n','e','s','w','center'等で指定.
text 表示する文字列.
textvariable 表示する文字列変数.TkVariableオブジェクトで指定.
justify 文字列をよせる側."left","center","right"で指定.
borderwidth 枠の幅.整数値で指定.
cursor マウスカーソルの形.
highlightcolor ウィジェットにフォーカスがある時の枠の色.
highlightthickness ウィジェットにフォーカスがある時の枠の幅.
relief ウィジェットの凹凸.'raised'または'sunken'で指定.
wraplength 折り畳むときの1行の文字数.
width ウィジェットの幅.
aspect テキストの縦横比.比率は100×幅÷高さです.100より大きければ横に長く,100より小さければ縦に長くなります.


戻る