Всем здравствуйте!
Имеется форма с десятью полями и кнопка вида
Код:

Case $vButton1
$vColor1 = GUICtrlRead($vInput1)
If $vColor1='' Then
$nColor = _ColorChooserDialog('0x00FF40', $Form1,0,0,$CC_FLAG_DEFAULT)
Else
$nColor = _ColorChooserDialog('0x'&$vColor1, $Form1,0,0,$CC_FLAG_DEFAULT)
endif
If $nColor = -1 Then
GUICtrlSetData($vInput1, $vColor1)
Else
GUICtrlSetData($vInput1,Hex($nColor, 6))
GUICtrlSetBkColor($vInput1,'0x' & Hex($nColor, 6))
GUICtrlSetColor($vInput1,$fColor)
GUICtrlSetState($vButton11,$gui_enable)
GUICtrlSetState($vButton12,$gui_enable)
GUICtrlSetState($vButton13,$gui_enable)
GUICtrlSetState($vButton20,$gui_enable)
GUICtrlSetImage($vButton13, $sLib, 3, 0)
GUICtrlSetImage($vButton20, $sLib, 2, 0)
EndIf
для сравнения еще одна
Код:

Case $vButton2
$vColor2 = GUICtrlRead($vInput2)
If $vColor2='' Then
$nColor = _ColorChooserDialog('0x00FF40', $Form1,0,0,$CC_FLAG_DEFAULT)
Else
$nColor = _ColorChooserDialog('0x'&$vColor2, $Form1,0,0,$CC_FLAG_DEFAULT)
endif
If $nColor = -1 Then
GUICtrlSetData($vInput2, $vColor2)
Else
GUICtrlSetData($vInput2,Hex($nColor, 6))
GUICtrlSetBkColor($vInput2,'0x' & Hex($nColor, 6))
GUICtrlSetState($vButton11,$gui_enable)
GUICtrlSetState($vButton12,$gui_enable)
GUICtrlSetState($vButton14,$gui_enable)
GUICtrlSetState($vButton22,$gui_enable)
GUICtrlSetImage($vButton14, $sLib, 3, 0)
GUICtrlSetImage($vButton22, $sLib, 2, 0)
EndIf
как видно действия схожи, только меняются идентификаторы.
вопрос - как можно упростить такую задачу и уменьшить код? большинство же одинаковое. а кнопок таких 10
и еще один по этой же теме - как организовать проверку цвета и менять цвет шрифта, если заливка слишком темная? тоже для всех 10 полей
спасибо