« 悲しみの対称複製そしてリネーム。 | トップページ | 取得 その7。 シーンのファイル名の取得。 »

2012年1月20日 (金)

GridData に色つけてポン。

唐突に。




JScript
-----------------------------------------------------------------

var oP = XSIFactory.CreateObject( "CustomProperty" );
oP.name = "ガッデムGridData";

var oGP = oP.AddGridParameter( "Grid" );
var oGrid = oGP.value;

oGrid.RowCount    = 2
oGrid.ColumnCount = 2 ;

oGrid.SetRowLabel( 0, "職場で" );
oGrid.SetRowLabel( 1, "全裸で" );
oGrid.SetColumnLabel( 0, "正座して" );
oGrid.SetColumnLabel( 1, "待機中" );

oGrid.SetColumnType( 0, siColumnBool ) ;
oGrid.SetColumnType( 1, siColumnBool ) ;

oGrid.SetCell( 0, 0, 1 );
oGrid.SetCell( 0, 1, 1 );
oGrid.SetCell( 1, 0, 1 );
oGrid.SetCell( 0, 0, 0 );

//    どの Row でもいいから一度 GetRowBackgroundColor を使ってカラーオブジェクトを取得
//    おかしな話だが、ゼロからカラーオブジェクトを作る方法が無いらしい

var oColor = oGrid.GetRowBackgroundColor(0);

//    取得したカラーオブジェクトの RGB に、0-255 で値をセット
oColor.Red = 222;
oColor.Green = 0;
oColor.Blue = 0;


//    そのカラーオブジェクトを Row にセット

oGrid.SetRowBackgroundColor( 0, oColor );

//    カラーオブジェクトはもう手中にあるので、もう1回取得する必要はなく、再利用する。
oColor.Red = 0;
oColor.Green = 200;
oColor.Blue = 0;
oGrid.SetRowBackgroundColor( 1, oColor );


var oL = oP.PPGLayout;
oL.AddItem( "Grid", siControlGrid );


InspectObj( oP );

-----------------------------------------------------------------

Grid



Grid Data に色を付ける方法。



Color オブジェクト
というもの = RGB の入れ物 が必要なのだが、ゼロから作る方法が用意されていない。

なので、Row から GetRowBackgroundColor を使って取得してくることで、入れ物を入手する。


一度入れ物が手に入っちまえばこっちのもん。あとは RGB を指定して、セットしてやるだけ。


Color オブジェクトをゼロから作る方法が用意されてないというあたりが、阿呆な仕様に見えます。Softimage さん?



これしか方法を知りません。
以前エアコン屋さんに聞いた方法です。







ごきげんよう。

.

|

« 悲しみの対称複製そしてリネーム。 | トップページ | 取得 その7。 シーンのファイル名の取得。 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: GridData に色つけてポン。:

« 悲しみの対称複製そしてリネーム。 | トップページ | 取得 その7。 シーンのファイル名の取得。 »