HomeMonologue | Part of Script factory. scriptfactory@mac.com . |
Dialog Dumperを使って、かなりいろんなtype、及び動作をするPopup menuを作ることができます。そのすべての解説を試みます。
まずは、Basic Dialog ItemsのPopup Menuのところを理解していらっしゃることを前提とします。
基本的に、CNTL resouceのProcIDとRefConの設定をどうするかということに尽きます。
以下の解説には、Basic Dialog ItemsのPopup Menuで使用したresourceを流用して、その差分の部分だけを説明します。
popup menuと連動して内容が変わるtext fieldつきpopup menuを作ることができます。
まず、DITL resourceですが、popup menuだけではだめで、popup menuとして連動して動くtext fieldも作る必要があります。ちなみにここで定義したtext fieldの値がtext file及びpopup menuの初期値になります。text field付きpopup menuの場合、text fieldのvalueに完全に初期値が支配され、popup menuのCNTL resourceにおけるvalueは意味がないようです。
text filed付きpopup menuのCNTL resouceは以下の条件を見たさなれればなりません。
以上の条件を満たせば、Dialog DumperはそのCNTL resourceをtext field付きpopup menuであると認識してくれます。
さらにtext filed付きpopup menuのCNTL resourceの注意点としては、
次のように設定してみました。
Dialog Dumperので掃き出されるcodeは以下のような感じになります。
-- PopupWithTextField set |dNormalPopup| to {size:[224, 141], style:standard window, closeable:true, name:"Simple Dialog", contents:[¬ {class:text field, bounds:[37, 42, 112, 58], value:"Second"}, ¬ {class:pop up, bounds:[115, 40, 137, 60], text field:1, contents:["First", "Second", "Third"]} ¬ ] ¬ } dd auto dialog |dNormalPopup| with grayscale |
sample resource fileのdownload
なんと、Popup Menuにアップルメニューの内容をもってくることができます。まあ、できて何がうれしいかはすさまじく疑問なのですが。
アップルメニューをその内容にするpopup menuは、CNTL resourceのProcIDを「1012」、RefConに「1146246738」を設定します。このRefConに設定する妙な番号は「DRVR」の文字コードを10進数で表現するとこうなるようです。そして、「DRVR」という文字列が、アップルメニューを意味するということのようです。
Dialog Dumper で変換すると以下のような AppleScript の code が生成されるはずです。
set |dNormalPopup| to {size:[224, 141], style:standard window, closeable:true, name:"Simple Dialog", contents:[¬ {class:pop up, bounds:[33, 42, 183, 62], name:"Apple Menu", name width:80, contents:"DRVR"} ¬ ] ¬ } dd auto dialog |dNormalPopup| with grayscale |
まあ、なんの役に立つのかわかりませぬが、面白いんで紹介しました。
sample resouce fileのdownload
フォンとメニューのpopup menuもアップルメニューと同じ要領で結構簡単に作れます。
CNTL rexourceのRefConの値を「1179602516」とします。これは「FONT」という文字列のcodeを十進数で表記したもののようです。
CNTL resouceは以下のようになるでしょうか。
Dialog Dumperによって生成されるcodeは以下のようになります。
-- FontMenu popup set |dNormalPopup| to {size:[224, 141], style:standard window, closeable:true, name:"Simple Dialog", contents:[¬ {class:pop up, bounds:[33, 42, 183, 62], name:"Font:", name width:40, contents:"FONT"} ¬ ] ¬ } dd auto dialog |dNormalPopup| with grayscale |
sample resource fileのdownload
以上で Dialog Director 及び、Dialog Dumper の popup menu に関する機能はすべて網羅したと思います。基本的に CNTL resouce の各種値を設定することによりいろんな popup menu に化けるわけですが、その対応表を以下のようにまとめてみました。
ProcID | Title | RefCon | popup menu |
1008 | 設定する | title付きpopup menu。MENU resourceを参照する。 | |
空欄 | 0 | titleもtext fieldも付かないpopup menu。 MENU resourceを参照する。 | |
text fieldのitem number | text fieldつきpop up | ||
1012 | 0 | だいたいProcIDが1008の場合と同じように振る舞うが、text field付きpopup menuはできない。 | |
1146246738 | アップルメニュー | ||
1179602516 | フォントメニュー |
|
This page was last built on |