Thanx Chris for making me stumble over this !

In the mean time I get more closer results :

(But still the RGB business is try & error for me [Wink] )

code:
    break on
dim $frmDialog1, $cR, $cG, $cB, $c, $steps, $h

$frmDialog1 = createobject("Kixtart.Form")
$frmDialog1.Size = 300,244
$frmDialog1.Caption = "Set Colors"

$cboStrings = $frmDialog1.ComboBox
$cboStrings.List = "Comments","Strings","Numbers","Commands","Functions","Macros","Operators"
$cboStrings.Location = 5,5
$cboStrings.ListIndex = 0

$chkBold = $frmDialog1.CheckBox("Bold",120,9,50,15)

$btnClose = $frmDialog1.Button("Close",$frmDialog1.ClientWidth-89,5,80,25)
$btnClose.OnClick = "$$frmDialog1.Hide"
$btnClose.Cancel = 1

$picChoice = $frmDialog1.PictureBox("",8,50,279,160)
$picChoice.DrawWidth = 2 ;pixels
$picChoice.FillStyle = 1 ; solid
$picChoice.BorderStyle = 0

$cR = 0
$cG = 0
$cB = 0
$Steps = 84

for $i = 4 to $picChoice.ClientHeight step 23
for $j = 4 to $picChoice.ClientWidth step 23
$c = "" + dectohex($cR) + dectohex($cG) + dectohex($cB)
if len(dectohex($cR)) = 1 $c = "0" + $c endif
if len(dectohex($cG)) = 1 $c = substr($c,1,2)+"0"+substr($c,3,len($c)) endif
if len(dectohex($cB)) = 1 $c = substr($c,1,4)+"0"+substr($c,5,len($c)) endif
$c ?
$ = execute("$$picChoice.ForeColor = &$c")
$ = execute("$$picChoice.FillColor = &$c")
$picChoice.Rectangle($j,$i,19,19)
select
case $h < $Steps / 3
$cR = $cR + ( 255 / 28 )
case ($h > $Steps / 3) and ($h < $steps / 3 * 2)
$cG = $cG + ( 255 / 28 )
case $h > $Steps / 3 * 2
$cB = $cB + ( 255 / 28 )
endselect
$h = $h + 1
next
next

;$frm.Enabled = 0
$frmDialog1.Show

while $frmDialog1.Visible
$ = execute($frmDialog1.DoEvents)
loop

_________________________