ディスプレイ・パス > ディスプレイ・システム・リソース
 
ディスプレイ・システム・リソース
ディスプレイ・システム・リソースは、2 つの文字列と関連付けられています。つまり、name value です。ディスプレイ・システム・リソースは、カスタマイズ可能なアプリケーションの構築に非常に便利です。
メモ: 「ディスプレイ・システム」リソースと、グラフィック・リソースで説明されている「グラフィック」リソースを混同しないようにしてください。
リソース名とリソース値の対は、以下のようにリソース・ファイルの特定のセクションで指定できます (たとえば、UNIX では .Xdefaults ファイル、PC では .INI ファイル)。
[MyApplication]
view.background=green
label.txt=This is my contents
リソース名に関連付けられている値は、エンドユーザーがランタイムに変更できます。
メモ: リソース・ファイルには、Viewsセクションがあり、これはすべての Rogue Wave Views アプリケーションに共通しています。
ディスプレイ・システム・リソースについての詳細は、以下のトピックを参照してください。
*getResource メソッド
*ディスプレイ・システム・リソースの格納方法
*デフォルトのディスプレイ・システム・リソース
*環境変数およびリソース名
*Windows のディスプレイ・システム・リソース
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
詳細は、Home を参照してください。
ILVLANG
lang
詳細は、IlvMessageDatabase クラス を参照してください。
ILVDB
messageDB
詳細は、IlvMessageDatabase クラス を参照してください。
ILVLOOK
look
look リソースは、次のいずれかの値、motifwindows、または win95 を使用します。詳細については、Gadgets マニュアルを参照してください。
Windows のディスプレイ・システム・リソース
Microsoft Windows 環境では、標準リソースに加えて Windows 固有のリソースを定義できます。これらのリソースは、次のとおりです。
*[TTY]  このリソースが TRUE に設定されている場合、 すべての Rogue Wave のメッセージを送るメッセージ・ウィンドウが作成されます。デフォルトの値は FALSE です。
*[TTYw][TTYh][TTYx][TTYy]  これらのリソースは、TTYTRUE に設定されている場合、メッセージ・ウィンドウのサイズと位置を指定します。デフォルト値は、TTYw=200TTYh=100TTYx=screen_widthTTYwTTYy=screen_heightTTYh です。
*[UseRightButton]  このリソースが TRUE に設定されており、マウスにボタンが 2 つある場合、Rogue Wave Views ライブラリーによって生成された IlvEventIlvRightButton 値を持つことになります。その他の場合は、IlvMiddleButton 値が含まれます。デフォルトの値は FALSE です。
詳細については、メンバー関数 IlvDisplay::isRightButtonValueUsed および IlvDisplay::useRightButtonValue を参照してください。
*[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.