index

■テキストビューを極める

テキストビューを使ってみましょう。
text fieldと違って、いろいろなフォントを使うことができます。
カラーも選べます。

プロジェクトファイル(680KB Sit圧縮)


基本プロジェクトを作成します。作成方法はひな型プロジェクトを作るを見てください。
textview001としてプロジェクトを作成しました。


MainMenu.nibのJapaneseをダブルクリックして、nibファイルを編集します。

パレットから、textviewを配置します。

windowを少し小さくして、textviewをウインドウいっぱいに大きくしました。

InfoパネルのSizeのAutosizingを中だけ伸縮可能にして、ウインドウの大きさと連動して動くようにします。

パレットから、「Font」メニューをメインメニューに配置します。

さて、ビルドして実行してみましょう。

文字を入力してみましょう。

表示されましたね。

Fontメニューから「Show Fonts」を選ぶとフォンとパネルが表示されます。
環境によってインストールされてるフォントは違うでしょうが、だいたいこんな感じで表示されるはずです。

サイズを変更してみましょう
文字を選択して、サイズを選択します。
大きくなりましたね。


太さを変えてみましょう。

変わりましたね。

それでは、「もりおうがい」と打って、変換してみましょう。

旧字体も表示されます。

つまり標準で14000超のグリフにアクセスできるわけです。

もちろん印刷もできます。

(プレビューで表示してみました。)

そういえば、今回は一つもコードを書きませんでしたね...。


それでは、おまけとして、文字を塗ってみましょう
一旦終了させて、

tiff画像を一つプロジェクトに登録します。小さな画像で結構です。

heart.tifを登録しました。

すこしtextviewを小さくします。

名前を付けます。
windowに"wi"

textviewにもつけるのですが、これはscrollviewに含まれていますので
一回クリックして、scrollviewに"sv"

ダブルクリックしてtextviewに"tv"としました。

Buttonを一つ配置して

名前を"bu"
Event Handlerのclickedにチェックを入れ、
ScriptのApplication.applescriptにチェックを入れ、EditScriptボタンを押してスクリプトを書きます。


-- Application.applescript
on clicked theObject
set img to load image "heart"

call method "setColorToTextField:image:" of class "EditFieldColor" with parameters {text view "tv" of scroll view "sv" of window "wi", img}
end clicked


call method....img}のところは1行で書いて下さい。

Objective-Cクラスを作ります。

「ファイルメニュー」の「新規ファイル...」を選び、Objective-C Classを選びます。

「次へ」ボタンを押し、

ファイル名を付けます。
setColor.mとしました。

「完了」ボタンを押すとファイルが追加されます。

コードを書きます。
setColor.hには

#import <Cocoa/Cocoa.h>


@interface EditFieldColor : NSObject {

}
+ (void) setColorToTextField:(id)field image:(NSImage *)img;
@end


としました。
(textFieldのを流用してます。)

setColor.mには

#import "setColor.h"

@implementation EditFieldColor
+ (void) setColorToTextField:(id)field image:(NSImage *)img;
{
NSColor *theColor = [NSColor colorWithPatternImage:img];//カラー作成
[field setTextColor:theColor];//テキストフィールドにカラー作成

}
@end




としました。


ビルドして実行してみましょう

ことえりから難しい字を入力してみました。
大きくして太い字にしました。

ボタンを押してみましょう

難しい字がメルヘンチックになりましたね。

もちろん文字なので、修正できます。


2002.1.23 (C)Satoshi Oomori