|
HMDT - Back Number / December, 2000 |
December, 2000December 7, 2000■ひとりごとWeb 編集ツールを Adobe GoLive 5.0 に乗り換えてみました。現在、少しづつ移行中です。結構、微妙に違っていて、HTML ファイルがそのまま使えないにゃー。 Illustrator 好きのわたしとしては、スマート・オブジェクトがすごく便利。Illustrator のファイルを直接埋め込んで、Illustrator 側を変更すると、自動的に反映されるってやつね。しかし、バギーで、落ちるのはあいかわらずだ。 December 6, 2000■Cocoa で遊ぶ:NSButton 編 (2) ブラウザの戻るボタンみたいなやつまずはお詫びと修正から。きのう、NSRoundedBezelStyle という定数は Release Note にしかのっていない、と書いたけど、それはこのあいだダウンロード可能になった Devloper Tool に付属しているドキュメントの話。Apple のサイトに行って、Web 上のドキュメントをチェックしたら、しっかり変わっていました。ごめんなさい。常に最新の情報をチェックしないとね。さて、ボタンに関するドキュメントを眺めてみたんだけど、デフォルトの状態で結構いろいろできそうだ。というわけで、ボタンで遊ぶ編その (2)。Web ブラウザの戻るボタンみたいなやつを作ってみよう!ほら、いつもはボタンみたいじゃなくて、ポインタを近付けると枠が出てきて、ボタンを押すとメニューが出てくるやつ。 さっそく作ったぞ!次のコードを見てくれ。きのうのコードにつけたした感じだ:
ポイントをいくつか説明しよう!まず、ボタンの属性の設定。タイトルを 'Back' とつける。ボタンのタイプは NSMomentaryChangeButton。これだと、通常のときとボタンを押したときで違うイメージが表示されるんだ。Bezel は NSRegularSquareBezelStyle で、四角い形にしている。あと、setShowsBorderOnlyWhileMouseInside というのをセットしている。これで、ポインタが近付いたときだけ、枠が表示されるんだ。 次がボタンに表示するイメージの読み込み。まず NSBundle を取得して、そっからイメージへのパスを作って、そんで NSImage を作るんだ!すげー雑で、そのままの説明だな。で、イメージをボタンにセットして出来上がり。 じゃ、動かしてみよう!まず、初期状態はこうなる。 ポインタを近付けていくと、枠が表示される。 そしてボタンを押すと、別のイメージが表示される。 さらに、メニューが表示されて、、、っていうとこまではいかなかった。明日以降のお楽しみだ。 ちなみに、いちおう言っておくと、こんなめんどくさいコードを書かなくても、Interface Builder を使えば、このぐらいは簡単にできるはずだよ。今は、あえて、コード上でやっているだけだからね。 December 5, 2000■Cocoa で遊ぶ:NSButton 編やぁ!Cocoa でプログラム書いているかい?なに、書いてない?よーし、それじゃ、簡単に数行のコードで遊んでみよう。Projec Builder で GUI を作る際は、Interface Builder を使って、ペタペタ張り付けて作るのが普通だよな。でもさ、コード中で on the fly で作りたいときもあるじゃない?よーし、やってみよう! てなわけで書いたのが次のコードだ:
適当な Window の subclass を作って、この初期化メソッドを割り当ててくれ。簡単に解説すると、最初に super の初期化を呼び出す。成功したら、ボタンの大きさと位置を表す NSRect を用意して、NSButton を作ってやる。うまくできたら、Window に addSubview する。 これで、ボタンができるはずだよね、きっと。だけど、じつは走らせると、次のような画面が出てくるんだ。 うーん、たしかにボタンはできているけど、Aqua じゃないぞ。いやや、いやや、Aqua じゃなきゃいやなんや、と駄々をこねてみたので、どうにかして Aquafied の方法を探ってみたぞ。ドキュメントをあさったところ、NSRoundedBezelStyle をスタイルとして設定してやればいい。 というわけで、上のコードに次のように一文を加える:
こうして実行してみると、おぉ、Aqua だ。 はーい、以上 on the fly でボタンを作る方法でした! |
|
Home | Link | Download | Back Number | Speciall Issue
|