4D-jp 4D Japan Technical Support Team

CSS表記で色指定を簡単に

2019-08-19
Intissar Elmezrouai

css-768x384

既存のコマンドが改良され,さらに便利になりました。フォームオブジェクトのカラーは,数値だけでなく,直感的なCSS文字列でも指定することができます。従来のような4バイトの倍長整数(0x00RRGGBB)では,すぐに色がイメージできなかったかもしれません。255(0xFF)とではなく,単純に”blue”と記述できれば良いのに,と感じていたデベロッパーには朗報です。17r6では,CSS文字列がサポートされるようになりました!

カラーネームを使った色指定

CSS文字列がサポートされるようになったコマンドは,OBJECT SET RGB COLORS, LISTBOX SET ROW COLOR, LISTBOX SET GRID COLOR です。

コマンドの改良により,下記の要領でオブジェクトの色指定ができるようになりました。

$color:="blue" 
$color:="#0000FF" // または #FF
$color:="RGB(0,0,255)"

使用例

OBJECT SET RGB COLORS コマンドには,前景色と背景色がそれぞれ文字列で渡せるようになりました。コードを記述するのが簡単になるだけでなく,可読性も向上します。

OBJECT SET RGB COLORS(*;"text";"red";"Yellow")
// 従来の表記 OBJECT SET RGB COLORS(*;"text";0xFF0000;0xFFFF00)

それだけではありません。OBJECT GET RGB COLORS コマンドからも文字列でCSSカラーが返されるようになりました。

C_TEXT($front;$back)
OBJECT GET RGB COLORS(*;"rectangle";$front;$back)
ALERT($front+"/"+$back) // #0000FF/#90EE90 が返される

リストボックスのコマンドも同じように改良されていますが,注意点があります。LISTBOX SET ROW COLOR にCSS文字列が渡された場合,リストボックスや列のカラーを制御するための配列には,数値に変換された値が代入されることに留意してください。

サポートされているCSSカラーネームの一覧はドキュメントに掲載されています。

早速,HDIをダウンロードして,改良コマンドを試してみるのはいかがでしょうか。


リンク