リソース書式 version 2.23 Copyright T.Kobayashi 1991.5.3 1.リソース  アプリケーションプログラム中のボックスやアイコンのパターンやメッセージは、 プログラムの実行ファイルから切り離して実行時に再定義できるように、リソースと して管理されています。リソースファイル WSRV.RS にリソース名とその実体である パターンや文字列を定義し、これをウインドウサーバが起動時に読み込みます。アプ リケーションはウインドウサーバに対してリソース名で参照することによってその実 体を得ます。  もちろん、アプリケーションが本来リソースとなるものを実行ファイルに埋め込ん でしまっていては実行時に再定義できません。アプリケーションの記述にも注意が必 要です。  以下に、リソースファイルの書式及びアプリケーションの記述の仕方について示し ます。 2.リソースファイルの書式 Pattern <リソース名> [<アプリケーション識別子>] { <Xサイズ> <Yサイズ> { <0プレーンのパターン> } { <1プレーンのパターン> } } String <リソース名> [<アプリケーション識別子>] { <文字列> ... } [例] Pattern CloseButton { 12 12 { FFF0 FFE0 FFA0 FF60 FEE0 FDE0 FBE0 F7E0 EFE0 DFE0 FFE0 8000 } { FFF0 8000 8000 8000 8000 8000 8000 8000 8000 8000 8000 8000 } } String Message { "Sample Message. " "Sample Message?" } [注意]  リソースの種類は現在のところ Pattern と String の2つです。  各項目はスペース文字で区切ります。項目内にスペース文字を入れたい時はダ ブルクォートで囲みます。改行、タブはスペースと同じ扱いです。  アプリケーション識別子は同じリソース名でその実体をアプリケーションプロ グラムごとに変更したい時に指定します。通常は省略します。  Pattern の書式は PED.WIN で出力形式をリソースにした時のものと同じなの で、PED.WIN で出力したファイルをリソースファイルにコピーするのが実用的な 方法でしょう。(ビットマップパターンを考えながらテキストエディタで書くの はたいへんです。)  String で複数の文字列が記述されている場合は、それらをつないだ文字列が 実体となります。上の例では "Sample Message. Sample Message?"となります。 改行コードは入りません。改行コードを入れたい時は "\n" を用います。Cの文 字列と同様に "\n", "\t", "\???", "\x??" が使用できます。ただ、 WLIB.A 内 の関数の文字列出力はコントロールコードを考慮していないので注意してくださ い。  リソース名もアプリケーション識別子も大文字、小文字を区別します。 3.リソースの確保  アプリケーションプログラム内でリソース名からその実体を確保するための関数が 用意されています。 void *WindowGetResource( rname, name, appname ) ---------------------------------------------------------------------------- char *rtype ; リソースの種類( Pattern, String ) char *name ; リソース名 char *appname ; アプリケーション識別子  リソースの実体を確保します。  rtype は現在のところ "Pattern", "String" の2つのどちらかです。  name はリソースの識別子でリソースファイル中に記述した名前です。  appname は同じくアプリケーション識別子です。リソースファイルではアプリケー ション識別子は省略できましたが、ここではできません。ウインドウサーバはまず、 rtype, name, appname のすべてが一致するリソースを検索し、なければ appname が省略されているリソースから rtype, name が一致するものを探します。  戻り値は Pattern の時は Sheet へのポインタ、String の時は文字列へのポイン タです。リソースが定義されていなかった時は NULL を返します。 ---------------------------------------------------------------------------- 4.ウインドウサーバで使用するリソース  ウインドウサーバ自体で使用するリソースを示します。これらのリソースが定義さ れていない時はウインドウサーバは起動できません。ウインドウサーバのアプリケー ション識別子は "Wsrv" です。 Pattern BackPattern バックパターン Pattern ErrorBomb システムエラー時に表示される爆弾のパターン タイトルウインドウのメニューバーのボタン Pattern ResizeButton Pattern CloseButton Pattern IconButton Pattern ZoomButton Pattern PushButton スクロールウインドウのスクロールボタン(矢印) Pattern UpArrow Pattern DownArrow Pattern LeftArrow Pattern RightArrow