funfunfun30
「TextMorph」もやっちゃうです。
「TextMorph」は「StringMorph」を継承しているかと思いきや
実は「RectangleMorph」を継承してるのね。
だから「backGroundColor」とか「borderWidth」とか設定できるってわけよ。
■クラスを作る
「TextMorph」を親にしてクラスを作るです。
--------------------------------------------
TextMorph subclass: #TestMorph24
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'MyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
インスタンスをだしてみるです。
--------------------------------------------
TestMorph24 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
「StringMorph」とそんなに変わんないね。
メソッドを追加します。
初めに表示するテキストと枠の大きさ、背景色、枠線の太さを変えるです。
--------------------------------------------
initialize
super initialize.
self contentsWrapped: 'abc'.
self extent: 150@20.
self backgroundColor: (Color r: 1.0 g: 1.0 b: 0.8).
self borderWidth: 1.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
インスタンスをだしてみる
--------------------------------------------
TestMorph24 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
「StringMoph」と違って「TextMorph」ってフォント、サイズ、スタイルの設定の仕方が
なんかややこしいっす。っていうかよくわからんです。
まあ入力がメインの利用が主な気もするので後でメニューで設定すればいいんだけど。
(ブラウジングしてたらあたまがゆでだこになっちまった。
また今度再挑戦するです。)
■ドラッグできるテキストモーフにする
「TextMorph」ってドラッグするのにいちいちAlt+ドラッグしなきゃ移動できなしょ?
「TextMorph」を「RectangleMorph」のサブモーフにして
端っこをドラッグしていつでもお気軽に移動出来るようにするです。
ってことで「RectangleMorph」を親にしてクラスを定義しまする。
--------------------------------------------
RectangleMorph subclass: #TestMorph25
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'MyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
「RectangleMorph」に「TextMorph」を「addMorph」しまする。
で、ここのミソは「#shrinkWrap」ね。
テキストの分量にあわせて「RectangleMorph」もサイズを合わせてくれるってわけでするよ。
--------------------------------------------
initialize
| tm |
super initialize.
self color: (Color r: 0.8 g: 1.0 b: 0.8).
self borderWidth: 3.
self borderColor: (Color r: 0.8 g: 0.9 b: 0.8).
self hResizing: #shrinkWrap.
self vResizing: #shrinkWrap.
tm _ TextMorph new.
tm contentsWrapped: 'abc'.
tm extent: 100@20.
tm backgroundColor: (Color r: 1.0 g: 1.0 b: 1.0).
self addMorph: tm.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
インスタンスをだしてみる
--------------------------------------------
TestMorph25 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
淡い水色の部分をつまむとドラッグ移動ができるです。
■多角形モーフの形に添って流し込めるテキストモーフを作る。
「TextMorph」を「PolygonMorph」のサブモーフにするです。
ってことで「PolygonMorph」を親にしてクラスを定義します。
--------------------------------------------
PolygonMorph subclass: #TestMorph26
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'MyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
ここでのミソは「fillingOnOff」で流し込みの設定のとこね。
変形ハンドルは表示にしておきます。
--------------------------------------------
initialize
| tm |
super initialize.
vertices _ Array with: 0@0 with: 100@0 with: 100@100.
self makeClosed; addHandles.
self color: (Color r: 0.8 g: 0.8 b: 1.0 alpha: 0.5).
self borderWidth: 0.
tm _ TextMorph new.
tm contentsWrapped: 'text'.
tm fillingOnOff.
self addMorph: tm.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
インスタンスをだしてみる
--------------------------------------------
TestMorph26 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
あ、Sift+クリックで変形ハンドルのON/OFFができるよん。
▲PREV ------ ● TOP ● ------ NEXT▼
■ MEMO ■
Links to this Page
- FunFunFunMorphic last edited on 25 March 2004 at 5:25:44 am by tk0005-202x210x196x109.ap-TK.usen.ad.jp
- funfunfun29 last edited on 18 June 2007 at 5:31:11 am by localhost.localdomain
- funfunfun31 last edited on 18 June 2007 at 5:22:30 am by localhost.localdomain