ディスプレイ・システム・リソース
ディスプレイ・システム・リソースは、2 つの文字列と関連付けられています。つまり、name と value です。ディスプレイ・システム・リソースは、カスタマイズ可能なアプリケーションの構築に非常に便利です。
メモ: 「ディスプレイ・システム」リソースと、 グラフィック・リソースで説明されている「グラフィック」リソースを混同しないようにしてください。 |
リソース名とリソース値の対は、以下のようにリソース・ファイルの特定のセクションで指定できます (たとえば、UNIX では .Xdefaults ファイル、PC では .INI ファイル)。
[MyApplication]
view.background=green
label.txt=This is my contents
リソース名に関連付けられている値は、エンドユーザーがランタイムに変更できます。
メモ: リソース・ファイルには、「Views」セクションがあり、これはすべての Rogue Wave Views アプリケーションに共通しています。 |
ディスプレイ・システム・リソースについての詳細は、以下のトピックを参照してください。
getResource メソッド
アプリケーションは、
getResource メソッドを使用してディスプレイ・システムからリソース値を取得します。
const char* res = display->getResource("resourceName", default);
IlvDisplay::getResource メソッドは、現在の Rogue Wave Views セッションのアプリケーション名に関連付けられている値文字列を返します。これは
IlvDisplay コンストラクターおよびリソース名を表す文字列で指定されています。指定した文字列に一致するリソースがない場合、このメンバー関数は、オプションの
default 文字列パラメーターに使用されているデフォルト値を戻します。
getResource が返す唯一のタイプは、
const char* です。文字列を別のデータ・タイプに変換するかどうかは、アプリケーションのプログラマー次第ということになります。
getResource 呼び出しの結果が格納されるメモリー中の場所は、関数を呼び出すたびに使用されます。したがって、前回の結果は上書きされます。結果を保存する場合は、すぐにコピーする必要があります。
ディスプレイ・システム・リソースの格納方法
リソースがディスプレイ・システム設定ファイル内に格納される方法は、システムに依存しています。
Microsoft Windows では、以下の行を
VIEWS.INI ファイルまたはアプリケーションに依存している
.INI ファイルに追加します。(
VIEWS.INI ファイルは、Windows ディレクトリーにあります。)
[AppName]
myDialogTitle=Load file
X Window システムでは、以下の行をリソース・マネージャーに渡します。
AppName*myDialogTitle:Load file
xrdb プログラムを使用するか、またはそれを X クライアントが読み込むファイル (.Xdefaults ファイルまたは XENVIRONMENT 変数が指定したファイル) に含めることができます。
デフォルトのディスプレイ・システム・リソース
IlvDisplay クラスのインスタンスが作成されると、デフォルトのディスプレイ・システム・リソースは、システム・リソース・メカニズムを使用して初期化されます。
表 6.1 IlvDisplay デフォルト・リソース
IlvDisplay メソッド | システム・リソース名 | デフォルト値 |
| foreground | black |
| background | gray |
| font | システム依存 |
| normalfont | システム依存 |
| boldfont | システム依存 |
| italicfont | システム依存 |
| largefont | システム依存 |
環境変数およびリソース名
UNIX および PC のデフォルト環境変数は、リソース・ファイル (すなわち、.Xdefault および .INI) で指定されたリソース名に優先します。以下の表は、環境変数とそれに関連付けられているリソース名の一覧です。
表 6.2 環境変数およびリソース名
環境変数名 | リソース名 |
ILVHOME | home |
ILVLANG | lang |
ILVDB | messageDB |
ILVLOOK | look look リソースは、次のいずれかの値、motif、windows、または win95 を使用します。詳細については、Gadgets マニュアルを参照してください。 |
Windows のディスプレイ・システム・リソース
Microsoft Windows 環境では、標準リソースに加えて Windows 固有のリソースを定義できます。これらのリソースは、次のとおりです。
[TTY] このリソースが
TRUE に設定されている場合、 すべての Rogue Wave のメッセージを送るメッセージ・ウィンドウが作成されます。デフォルトの値は
FALSE です。
[TTYw]、
[TTYh]、
[TTYx]、
[TTYy] これらのリソースは、
TTY が
TRUE に設定されている場合、メッセージ・ウィンドウのサイズと位置を指定します。デフォルト値は、
TTYw=200、
TTYh=100、
TTYx=screen_width‑TTYw、
TTYy=screen_height‑TTYh です。
[UseRightButton] このリソースが
TRUE に設定されており、マウスにボタンが 2 つある場合、Rogue Wave Views ライブラリーによって生成された
IlvEvent は
IlvRightButton 値を持つことになります。その他の場合は、
IlvMiddleButton 値が含まれます。デフォルトの値は
FALSE です。
[SolidColors] このリソースが
TRUE に設定されている場合、VGA システムのパレットを使用します。システムで利用可能な色数が 16 色以上の場合、デフォルト値は
FALSE です。それ以外の場合は、
TRUE です。これは、色数の少ないグラフィック・システム上のディザ・イメージを防ぎます。
[Warnings] このリソースが
TRUE に設定されていると、警告メッセージが表示されます。デフォルトの値は
FALSE です。
メンバー関数
getResource は、いくつかのファイルでリソース定義を検索します。下記はこれらのファイルを優先度の高い順に示したものです。
1. EXECDIR\APP.INI
2. EXECDIR\PROG.INI
3. EXECDIR\VIEWS.INI
4. WINDIR\APP.INI
5. WINDIR\PROG.INI
6. WINDIR\VIEWS.INI
EXECDIR は、実行可能なプログラムを含むディレクトリーで、
WINDIR は Microsoft Windows がインストールされているディレクトリーです。
APP は、アプリケーション名を表します。この文字列は
IlvDisplay コンストラクターに提供したものです。
PROG は実行可能ファイルのベース名で、完全な名前は
PROG.EXE です。
Version 5.6
Copyright © 2012, Rogue Wave Software, Inc. All Rights Reserved.