4D v16.3

OBJECT SET RGB COLORS

ホーム

 
4D v16.3
OBJECT SET RGB COLORS

OBJECT SET RGB COLORS 


 

OBJECT SET RGB COLORS ( {* ;} object ; foregroundColor ; backgroundColor {; altBackgrndColor} ) 
引数   説明
演算子 in 指定時, Objectはオブジェクト名 (文字列) 省略時, Objectはフィールドまたは変数
object  フォームオブジェクト in オブジェクト名 (* 指定時), または フィールドまたは変数 (* 省略時)
foregroundColor  倍長整数 in 前景色のRGBカラー
backgroundColor  倍長整数 in 背景色のRGBカラー
altBackgrndColor  倍長整数 in 奇数行の背景色RGBカラー

説明   

OBJECT SET RGB COLORS コマンドは、引数objectとオプション引数の * によって指定されるオブジェクトの前景色と背景色を変更します。コマンドがリストボックスに対して適用される場合、引数を更に使用して奇数行の背景色を変更することができます。

オプションの * 引数を指定した場合、objectはオブジェクト名です (文字列) 。オプションの * 引数を省略すると、objectはフィールドまたは変数です。この場合、文字列ではなくフィールドまたは変数参照 (フィールドまたは変数のみ) を指定します。オブジェクト名に関する詳細はを参照してください。

オプションの引数altBackgrndColorを使用して、奇数行の背景色を設定することができます。この引数は、指定されたオブジェクトがリストボックスまたはリストボックスの列である場合にのみ使用できます。この引数を使用した場合、backgroundColor引数は偶数行に対してのみ使用されます。奇数行背景色を使用すると、リストがより読みやすくなります。
object がリストボックスオブジェクトを指す場合、奇数行背景色はリストボックス全体に対して使用されます。object がリストボックスの任意の列を指す場合、設定した色はその列に対してだけ使用されます。

引数foregroundColorbackgroundColoraltBackgrndColorにはRGBのカラー値を指定します。RGBの値は、4バイトの倍長整数です。そのフォーマット(0x00RRGGBB)は、以下の表で説明します(バイトには、右から左へ順に0から3までの数字が付けられます):

Byte説明
3絶対RGBカラーの場合0でなければなりません。
2カラーの赤コンポーネント (0..255)
1カラーの緑コンポーネント (0..255)
0カラーの青コンポーネント (0..255)

以下はRGBカラーの例です:

説明
0x00000000
0x00FF0000明るい赤
0x0000FF00明るい緑
0x000000FF明るい青
0x007F7F7Fグレイ
0x00FFFF00明るい黄
0x00FF7F7Fパステル赤
0x00FFFFFF

カラーが自動で設定されるオブジェクトの描画を、4Dが使用する"システム"カラーで定義できます。以下の定義済み定数が提供されます:

定数 コメント
Background color 倍長整数 -2
Background color none 倍長整数 -16 この定数は backgroundColor 引数と altBackgrndColor 引数にしか渡すことができません。
Dark shadow color 倍長整数 -3
Disable highlight item color 倍長整数 -11
Foreground color 倍長整数 -1
Highlight menu background color 倍長整数 -9
Highlight menu text color 倍長整数 -10
Highlight text background color 倍長整数 -7
Highlight text color 倍長整数 -8
Light shadow color 倍長整数 -4

たとえば、標準システム上で、入力可フィールドまたは変数型オブジェクト上では以下のようなカラーが使用されます:

警告: これらの自動カラーはシステムと、適用されるオブジェクトのタイプに依存します。OSのバージョンが変わったり、システムカラーが変わったりすると、4Dはそれに応じて自動カラーを調整します。自動カラー値はシステムカラーを使用する際に指定してください。上記例のカラーを直接指定するためには使用できません。

以下のフォームにはvsColorValuevsColorという2つの入力不可変数とthRedthGreenthBlueという3つのサーモメータが含まれます。

以下は、これらのオブジェクト用メソッドです:

  // vsColorValue入力不可オブジェクトメソッド
 Case of
    :(Form event=On Load)
       vsColorValue:="0x00000000"
 End case
  // vsColor入力不可変数オブジェクトメソッド
 Case of
    :(Form event=On Load)
       vsColor:=""
       OBJECT SET RGB COLORS(vsColor;0x00FFFFFF;0x0000)
 End case
 
  // thRed サーモメーターオブジェクトメソッド
 CLICK IN COLOR THERMOMETER
 
  // thGreen サーモメーターオブジェクトメソッド
 CLICK IN COLOR THERMOMETER
 
  // thBlue サーモメーターオブジェクトメソッド
 CLICK IN COLOR THERMOMETER

3つのサーモメータから呼ばれるプロジェクトメソッドは以下のとおり:

  // CLICK IN COLOR THERMOMETER プロジェクトメソッド
 OBJECT SET RGB COLORS(vsColor;0x00FFFFFF;(thRed<<16)+(thGreen<<8)+thBlue)
 vsColorValue:=String((thRed<<16)+(thGreen<<8)+thBlue;"&x")
 If(thRed=0)
    vsColorValue:=Substring(vsColorValue;1;2)+"0000"+Substring(vsColorValue;3)
 End if

サーモメータの値からカラー値を計算するためにを使用しています。

実行されるとフォームは以下のように表示されます:

背景色を透明に、フォントカラーを明るい色に設定する場合:

 OBJECT SET RGB COLORS(*;"myVar";Light shadow color;Background color none)



参照 

OBJECT GET RGB COLORS
OBJECT SET COLOR
Select RGB Color
ビットワイズ演算子

 
プロパティ 

プロダクト: 4D
テーマ: オブジェクト(フォーム)
番号: 628

 
履歴 

変更: 4D 2004
名称変更: 4D v12
変更: 4D v14

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)