index

■コンテキストメニューを極める

コンテキストメニューを作成するのですが、現在のところやり方が悪いのか、バグなのか分かりませんがenabled(使用可能)になりません。


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


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

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

buttonを一つ配置します。

名前を"bu"として
Event Handlerのclickedにチェックを入れ、AppleScriptのApplication.applescriptにチェックを入れます。

コンテキストメニューを作成します。
パレットからドラッグドロップでメニューを作ります。

「NSMenu」ができます。

名前を付けます。

"cm"としました。

ボタンとコンテキストメニューを接続します。
ボタンの上で「control」キーを押してそのまま今作ったばかりのメニュー「NSMenu」までドラッグすると、線が引かれます。「NSMenu」の上に来て、「NSMenu」が線で囲まれたら離して下さい。

Infoパネルには
Outletの所にmenuと言うのがありますので、それを選択して、「connect」ボタンを押します。

menuの横に丸印がついたらmenuOKです。
ウインドウの下部に接続状況が表示されます。

コードを書きます。

Application.applescriptに

-- Application.applescript
property img : null
on clicked theObject
--メニューを自動で使用可能に(動かない)
set auto enables items of menu of theObject to true
--メニューアイテム1に
tell menu item 1 of menu of theObject
set title to "www"
set enabled to true --動かない
end tell
--これはtellの中に入れるとだめ
set image of menu item 1 of menu of theObject to load image "NSApplicationIcon"
end clicked


と書きます
ビルドして実行して下さい。

ボタンの上で「control」+クリックする(2ボタンマウスの場合は右クリックする)とコンテキストメニューが表示されます。

ボタンを一回押して下さい。

ボタンの上で「control」+クリックする(2ボタンマウスの場合は右クリックする)とコンテキストメニューが表示されます。
今度は画像がセットされていたり、タイトルがかわっていたりします。

現時点では残念ながらメニューを使用可能にする方法が見つかりませんでした。


2002.1.18 (C)Satoshi Oomori