プログラム講座 初級編4

- リソースを使ってみる -

 初級編4です。今回はMacintoshのプログラミングにはかかせない「リソースエディタ」を少し使って「アラートダイアログ」を作成し、Future BASIC上から呼び出してみる事にしましょう。



◆アラートダイアログの作成
 アラートダイアログというのは、ダイアログにOKボタンがついておりユーザーに注意や結果などを知らせるためのものです。例えば処理がうまく行われなかったとか、メモリが不足している場合などに使用します。
 さて、このアラートダイアログ(以下アラート)を作成するには「リソースエディタ」が必要です。これはFuture BASIC I/IIを購入すると自動的についてきます。Macからピエロが飛び出したアイコンになっています。これをダブルクリックしましょう。起動すると豪勢?なアニメーションが始まりますが(笑)、気にせずにFileメニューから一番上のNew...を選択してください。


 ファイル保存ダイアログボックスが表示されますのでeasy4.resと名前をつけます。自分独自のものを作る場合は他の名前でもかまいませんが、日本語はやめた方がいいでしょう。



 すると以下のような新しいウィンドウが開きます。



 メニューのResourceからCreate New Resource...を選択します。このようにして新しいリソースを作っていきます。



 以下のようなダイアログが表示されます。ここでリソースタイプを指定します。今回はアラートを作成します。このアラートのリソース名(4文字)はALRTですので、ALRTと入力するか左側のALRTの文字をクリックします。OKを押すと次々とウィンドウが開きます。



 以下のような画面になりますので、縮小表示されているデスクトップの中の白い四角(ダイアログ)をダブルクリックします。



 すると以下のようなウィンドウとツールが出てきます。




 ツールの一番上にある「Button」の所にマウスカーソルを持っていきます。ボタンを押したまま左側のウィンドウに四角い枠を持っていきます。するとボタンが点線で表示されます。このボタンをダブルクリックしてください。以下のようなダイアログが表示されます。



 TEXT:の横にある四角い所に文字を入れます。Buttonという文字がすでにあって反転表示されていますので、いきなりOKと入力しても大丈夫です。入力し終わったらウィンドウを閉じます。すると以下のような画面になります。



 同様に今度はツールの所からStaticTextの所にマウスカーソルを移動させてボタンを押したままウィンドウにドラッグします。StaticTextというのは変化しない文字列のことで単純にメッセージを表示させたい時には便利です。今回は、ただアバウト画面の文字を表示させるだけですのでStaticTextで十分です。点線で表示されているStaticTextの所をダブルクリックしてください。すると、新しいウィンドウが表示されますので、適当に文字を入れます。



 以下の図が完成したものです。必ずこれでなければいけないと言う事はありません。OKボタン以外は勝手に付け足してもかまいません。





◆リソースを読み込ませる処理
 さて、せっかく作成したリソースですがFuture BASIC上で扱えるようにしなければいけません。リソースエディタで作成したリソースを読み込ませるにはRESOURCESという命令を使います。この命令の後に先ほど作成したファイル名を指定します。つまり以下のようになります。

RESOURCES "easy4.res"



◆アバウト画面の表示とその処理
 メニュー選択部分などは初級編3で勉強したものと一緒です。前回と異なるのはリソースを使用しているという事と「アバウト画面」を表示し、その処理を行う事です。
 アバウト画面と一口に言っても、いろいろなものがあります。今回は一番手軽でオーソドックスなものにしてあります。文字が表示されてOKボタンが1つだけあるというものです。
 アバウト画面の表示、ボタンが押されるまでの処理は実は1命令で行う事ができます。その命令は「FN ALERT」という命令でリソース番号を指定してやれば勝手にアラートを表示してOKボタンが押されるまで待つという処理をやってくれます。具体的には以下のように指定します。

err% = FN ALERT(128,0)

注意:
リソースを作成した時に一番最初にOKボタンを配置しました。実はこれが非常に重要な部分で先にテキストを配置するとテキストの方に、太い枠が表示されてしまいます。一度実験してみるとよいでしょう。



◆終わりに
 今回のプログラムは前回のものを流用しアバウト画面の表示部分だけ異なるといった感じになっています。今回はリソースエディタの基本的な部分(本当に最低限ですが)と、作成したリソースをFuture BASIC上で読み込ませ、扱う方法そして表示するという事をやりました。リソースエディタについては専門の本が出ているくらい、結構奥が深いものです。プログラムの改良や改造、ローカライズ(他国語への変換)をやりたい人もしくは、そのようなプログラムを作成する人は、そのような本を読んでおいて損はないと思います。
 非常にテンポが遅い講座で申し訳ありません。なるべく丁寧にと思っているので、ほんと文章構築に時間がかかってしまっています。ご意見等ありましたらメールをください。
 次回はアプリケーションの作成とアップデートイベントの基本的な部分を解説します。



◆今回のプログラムリスト
' "リソースを読み込ませる" RESOURCES "easy4.res" ' "アバウト画面の処理" LOCAL FN ABOUT err% = FN ALERT(128,0) END FN ' "メニューの初期化関数" LOCAL FN initMenu APPLE MENU "About..." 'File Menu MENU 1,0,_enable,"ファイル" MENU 1,1,_enable,"/Q終 了" END FN ' "メニューが選択された場合の処理関数" LOCAL FN doMenus menuID = MENU(_menuID): ' "どのメニューバー項目かな?" itemID = MENU(_itemID): ' "選択項目は何かな?" SELECT menuID CASE 255,127 SELECT itemID CASE 1 FN ABOUT: ' "About...が選択されたので呼び出す" END SELECT CASE 1 : ' Quit Menu SELECT itemID CASE 1: END END SELECT END SELECT MENU END FN ON MENU FN doMenus: ' "メニューが選択された場合の呼び出し先" FN initMenu: ' "ここでメニュー初期化部分を呼び出します" DO HANDLEEVENTS UNTIL theProgramEnds END