REALbasic で OS X 用のアイコンを使う

SPECIAL

REALbasic で OS X 用のアプリケーションを作ってもぜんぜんアイコンが登録されなかったのですが、ようやく OS X 用のアイコンの登録方法がわかりました。


MacOS X のアイコン

REALbasic は、ASCII が販売している Apple Macintosh 用のプログラム言語です。

現時点での最新版は 4.0.2J なのですが、普通に MacOS X (Carbon) 用のアプリケーションを作っても、アプリケーションのアイコンが REALbasic 標準のものになってしまいます。

OS X 版のアプリケーションでも独自のアイコンを登録できないかと調べてみたところ、方法が見つかったので書いてみました。

 

必要なリソース

MacOS X では、128x128 の大型のアイコンを使用しますので、このサイズのアイコンを作成できるエディタが必要になります。

僕は あまつぶ さまの作成した Icon Party というソフトウェアを利用しました。Carbon 版も出ているのが魅力です。このソフトで OS X 用のアイコンを作成して、それを 「アイコンつきフォルダ」 として保存した物を使用します。

また、アイコンデータをリソースファイルにまとめるために、Apple 社から提供されている ResEdit というリソースエディタを使用します。これは残念ながら Classic 環境版しかないようです。

 

アプリケーション用アイコンの登録

REALbasic のアプリケーションに、Icon Party で作成した 128x128 の MacOS X 用アイコンを登録してみることにします。まず、アイコンを作成したら、「アイコンつきフォルダ」 として保存します。

それを ResEdit で開くといくつかリソースファイルがありますが、必要となるのは icns という名前のリソースです。これを ResEdit で新規に作成したリソースファイルにコピーします。

コピーした先の icns リソースを開いてみると、おそらく ID が -16455 で保存されていると思います。アプリケーション用のアイコンは ID = 128 なので、ID の値を 128 に変更します。

この新しいリソースファイルを、ファイル名は何でもいいのですけど、今回は icns.res という名前で保存することにします。

あとは、そのアイコンを利用したいアプリケーションのプロジェクトへ先ほど作成した icns.res ファイルをドロップしてビルドを行えば、OS X でもちゃんとしたアイコンが表示されるようになります。

なお、REALbasic に標準でサポートされている、MacOS 9 までのアイコンは、REALbasic 標準の方法を使って登録しておけば大丈夫です。

 

書類用アイコンの登録

さて、プロジェクト内でファイルタイプを登録したときにアイコンを設定することができますよね。これにも MacOS X 用の 128x128 アイコンを登録することができます。

方法はアプリケーション用のアイコンを作成する際に作った、icns.res ファイルに、書類用のアイコンデータを追加してあげるだけです。

 

書類用のアイコンは、ファイルタイプで独自のアイコンがつけられているものに対して上から順に ID = 129, ID = 130 というように番号付けがされます。

なので、128x128 のアイコンを作成したら、その icns リソースから目的のデータを、先ほど作成した icns.res ファイルの icns リソースへコピーして ID = 129 以上の適切な値に変更してあげるだけで OK です。

いまいち ID 番号が不安な場合は、まずはそのままアプリケーションをビルドしてそのアプリケーションを ResEdit で開いてみると、icl8 リソースのデータとして、ID が割り当てられたアイコンを確認することができます。

必要な分だけ icns リソースにアイコンデータをコピーして、アプリケーションをビルドすれば完成です。