<Prev
index
Next>

■textfieldのカラーをセット

textfieldなど、colorを扱うプロパティは一応用語辞書には載っていますが、使おうとするとエラーが出て、実際は使えない状態となっています。

いずれ使えるようになるでしょうが、待ってられないのでObjective-Cで作ってみました。
Objective-Cを呼び出すと同じ手順です。


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


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

windowを小さくしてtext fieldとbuttonを配置しました。

名前を付けます。

windowは"wi"

text fieldは"tf"

buttonは"bu"
としました。
buttonはイベントハンドラclickedにチェックを入れ、AppleScriptのapplication.applescriptにチェックを入れます。


「EditScript」ボタンを押してapplication.applescriptに追加して、以下のようにします。


...with parameters...の部分は改行せず、同じ行として入力してください。

-- Application.applescript
on clicked theObject
call method "setColorToTextField:c:m:y:k:alpha:" of class "EditFieldColor" with parameters {text field "tf" of window "wi", 100, 100, 20, 10, 100}
end clicked




Objective-Cクラスを作ります。
「ファイル」から「新規ファイル」を選び、


Objective-C classを選択して「次へ」ボタンをクリックします。


クラス名をつけたファイルを作ります。
EditFieldColor.m
としました。

同時に"EditFieldColor.h"も作成するにチェックが入っていることを確認して下さい。
チェックが入っていればOKです。
「完了」ボタンを押して下さい。

EditField.hとEditField.mの2つのファイルができました。

EditField.hを編集します。

//#import <Foundation/Foundation.h>
#import <Cocoa/Cocoa.h>

@interface EditFieldColor : NSObject {

}
+ (void) setColorToTextField:(id)field c:(float)c m:(float)m y:(float)y k:(float)k alpha:(float)alpha;
@end


と入力して下さい。
気を付けなければいけない点は
#import <Cocoa/Cocoa.h>
を忘れずに追加して下さい。
今回のtext fieldはAppkitに含まれますのでFoundation.hだけでは駄目なのです。

EditField.mを編集します。


として下さい。
#import "EditFieldColor.h"
@implementation EditFieldColor
+ (void) setColorToTextField:(id)field c:(float)c m:(float)m y:(float)y k:(float)k alpha:(float)alpha;
{
NSColor *theColor = [NSColor colorWithDeviceCyan:c/100
magenta:m/100
yellow:y/100
black:k/100
alpha:alpha/100];//カラー作成
[field setTextColor : theColor ];

}
@end



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

文字をtext fieldに入力して、ボタンを押すと
文字が黒から青色に変わりましたね。
これで、text fieldの文字色を変更することができました。


2002.1.12 (C)Satoshi Oomori