index

■文字をパターンで塗る

文字の色を変える応用です。
色を単色ではなく、パターンで表示してみましょう


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


新規プロジェクトを作成します。
patternColorとしました。
MeinMenu.nibのjapaneseをダブルクリックしてnibファイルを編集します。

windowを少し小さくして、名前を"wi"とします。

text fieldを一つ配置します。名前は"tf"としました。
少し横に長くしました。

ボタンを一つ配置します。名前は"bu"としました。
Event Handlerのclickedにチェックを入れ、AppleScriptのApplication.applescriptにチェックを入れます。

EditScriptボタンを押してスクリプトを書きます。

-- Application.applescript
on clicked theObject
set img to load image "NSApplicationIcon"
call method "setColorToTextField:image:" of class "EditFieldColor" with parameters {text field "tf" of window "wi", img}
end clicked


call methodの行は...img}まで続けて下さい。

次にObjective-Cのクラスを作成します。

ファイルから新規ファイルを選び、Objective-C classを選択して「次へ」ボタンを押します。

ファイル名を付けます。
EditFieldColor
としました。
「完了」ボタンを押します。

EditFieldColor.hとEditFieldColor.mの二つのファイルができます。

EditFieldColor.hにコードを書きます

#import <Cocoa/Cocoa.h>


@interface EditFieldColor : NSObject {

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

として下さい

次に
EditFieldColor.mにコードを書きます。

#import "EditFieldColor.h"

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

}
@end

として下さい。

ビルドして実行して下さい。

text fieldになにか文字を入れます。

黒で表示されていますね。

ボタンを押します。

文字の色がかわりましたよね。
これはアプリケーションのアイコン画像、NSApplicationIconのTIFF画像で文字を塗っています。

他の画像をプロジェクトに登録して、
Applescriptの
set img to load image "NSApplicationIcon"
この部分を変えてやれば、その画像をカラーとして使うようになります。





2002.1.18 (C)Satoshi Oomori