<Prev
index
Next>

■メニュー

メニューをつけてみましょう。


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


Japaneseのnibファイルを編集します。

MainMenu.nibのJapaneseをダブルクリックします。

interfacebuillderが起動します。

MainMenuをクリックするとメニューだけのウインドウが表示されます。

Applicationのところをダブルクリックすると編集可能になりますので、「アプリケーション」と入力してみます。

メニューが変わりましたね。

他も同様に変えてみましょう。タブで次の項目に移動できます。

メニューアイテムも同様に変更できます。

マッキントッシュでは、命令が実行される前にダイアログが表示され、さらに設定が必要な場合は末尾に「...」とつけるようになっています。

ショートカットキーの割り当ては、「Tools」「ShowInfo」で表示されるinfoパネルで行います。

title:は文字どおりタイトル、keyEquivalent:はショートカットキー
Modifier:は同時に押すキー
state:はメニューを選択することでチェックマークをつけたり、消したりするためのものです。
フォントサイズとか、フォントの選択などに使われます。
文字が何も書いていないものは、セパレータ(区切り)です。

メニューを追加するには、オブジェクトのパレットからメニューを選択して、
subMenuをドラッグして、挿入したいメニューの間にドロップします。

メニューアイテムを追加したい場合は、itemをドラッグして、挿入したいメニューアイテムにドロップします。

メニューアイテムにサブメニューを持たせたい場合は、subMenuをドラッグして、メニューアイテムにドロップします。

タイトルやショートカットキーを設定します。

パレットにあるFontやFormatは、あらかじめ機能が持たせてあるメニューです。
テキストフィールドに対して文字の指定などができます。

パレットにあるメニュー自体のアイコンは、コンテキストメニューなどに使います。

それでは、ウインドウを印刷するメニューを実行してみましょう。

ウインドウが一つあるはずなので、infoパネルからウインドウの名前をつけます。"wi"としました。

ウインドウにテキストフィールドを一つ配置します。

ウインドウの大きさいっぱいに大きくします。

infoパネルからテキストフィールドの名前をつけます。"tf"としました。

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

テキストフィールドに何か文字を入力して、

「編集」メニューから「print...」を選んで下さい。

印刷ダイアログがでてきますので、とりあえず「プレビュー」を選びます。

暫くすると、印刷プレビューが表示されます。

印刷、用紙設定など基本的な項目はあらかじめメニューに設定されていることが分かります。

(Infoパネルのconnectionを見ると、接続されている先が表示されます。)


独自のメニューを設定する

それでは新しいメニューをつけてみます。

パネルのをクリックして、メニューパネルを表示させます。

ウインドウのにパレットからSubMenuをドロップします。

名称を「3匹のこぶた」としました。

nameは「kobuta」としました。

今作った「3匹のこぶた」の下にItemというメニューアイテムがあります。その下にパレットからitemをドラッグドロップして、新しくメニューアイテムを作ります。

同じ作業を2回繰り返し、メニューアイテムが3つになるようにしました。

タイトルを変更します。上から順に「一番上の兄」、「二番目の兄」、「弟」としました。

メニューに名前を付けます。「一番上の兄」を選択してInfoパネルからName:を"Boo"
「二番目の兄」を選択してInfoパネルからName:を"Woo"、「弟」を選択してInfoパネルからName:を"Foo"としました。

EventHandlerとScriptを設定します。

InfoパネルからEventHandlerのMenuにチェックを入れます。ScriptのApplication.applescriptにチェックを入れます。
他2つも同様にして下さい。


をクリックしてスクリプトを書きます。


--スクリプトここから

-- Application.applescript

on choose menu item theObject
(*Add your script here.*)
end choose menu item

on update menu item theObject
(*Add your script here.*)
end update menu item
の所に
on choose menu item theObject
--変数の設定
local buta
local ie

set buta to (name of theObject) as text --選択したメニューアイテムの名前
if buta is "Boo" then
set ie to "わらの家"
end if
if buta is "Woo" then
set ie to "木の家"
end if
if buta is "Foo" then
set ie to "レンガの家"
end if
--メニューアイテムに応じて家を変える
set contents of text field "tf" of window "wi" to ie

end choose menu item

on update menu item theObject
(*Add your script here.*)
end update menu item

on launched theObject --起動時の処理
--メニューを使用可能にする
set enabled of menu item "woo" of menu "kobuta" to true
set enabled of menu item "woo" of menu "kobuta" to true
set enabled of menu item "foo" of menu "kobuta" to true
end launched

--スクリプトここまで

と入力します。

ビルドして実行してみましょう。
「3匹のこぶた」メニューを選択して下さい。
テキストフィールドに文字が入力されましたね。



2002.1.6 (C)Satoshi Oomori