Окраска строк-ссылок
Здравствуйте,перелопатил форум но похожей темы не нашел.Подскажите пожалуйста, как в окне основного диалога вывести строку-ссылку с цветом отличающимся от основного цвета текста.Когда использую Icolor - естественно меняется цвет всего шрифта,а это не нужно.
Saddovnik, привет, ты про это?
usehtml=1
fcolor=rgb(255,0,0) & ! Красный
lcolor=rgb(0,255,0) & ! Зеленый
'1) <a href="EXEC:">Текст ссылки 1</a>'
'2) <a href="EXEC:">Текст ссылки 2</a>'
'3) <a href="EXEC:"><font color=rgb(0,0,255)>Текст ссылки 3</font></a>' & ! Синий
Все достаточно просто. Применяешь <font color=“”>ссылка</font> в теле <a href></a>
Примерно так:
<a href="exec: Gt(''Пора_Начинать'')"><font color=''#A000A0''>Текст_Ссылки</font></a>
- Ссылка фиолетового цвета
Для простоты я всегда делаю массив цветовых констант, чтобы потом не морочиться и не вспоминать все эти шестнадцатеричные значения. Один раз поигрался в фотошопе или паинте, выбрал цвета, записал их представление, а потом только выдергиваешь через константы. И процедуру пишешь, которая сразу выводит нужную строку в нужном цвете.
Например кнопки “Продолжить” и “Отменить” на зеленом фоне и красном фоне у меня выглядят так:
$Colors[0]='#800000' & !Бордовый
$Colors[1]='#C00000' & !Темно-красный
$Colors[2]='#FF0000' & !Красный
$Colors[3]='#FF8000' & !Оранжевый
$Colors[4]='#80A030' & !Желто-Зеленый
$Colors[5]='#008000' & !Зеленый
$Colors[6]='#00C000' & !Светло-зеленый
$Colors[7]='#0000FF' & !Синий
$Colors[8]='#0000A0' & !Темно-Синий
$Colors[9]='#A000A0' & !Фиолетовый
...
$Colors[25]='#000000' & !Черный
$Colors[34]='#EEEEEE' & !Почти белый (Для выделения строки)
$Colors[36]='#FFFFFF' & !Белый
...
БРД=0 & !Бордовый
ТКР=1 & !Темнокрасный
КРС=2 & !Красный
ОРЖ=3 & !Оранжевый (Голда)
ЖЗЛ=4 & !Желто-зеленый (Салатовый)
ЗЕЛ=5 & !Зеленый (Плотная зелень)
СЗЛ=6 & !Светло-зеленый (Нежная зелень)
СИН=7 & !Синий
ТСН=8 & !Темносиний (Navy)
ФЛТ=9 & !Фиолетовый
...
ЧРН=25 & !Черный
ПБЛ=34 & !Почти белый
БЕЛ=36 & !Белый
...
!Переменные для оформления таблиц
$AlignCenter='NOWRAP align=center valign=center' & !Выравнивание по середине, Перенос запрещен
...
!Вывод "кнопок"
$ResStr='<center>'
$ResStr+='<table width=400 <<$AlignCenter>> border=0 cellspacing=0 cellpadding=0>'
$RedStr+='<tr>'
$ResStr+='<td width=175 <<$AlignCenter>> bgcolor=<<$Colors[ЗЕЛ]>>>'
$ResStr+=' <br><a href="exec: Gt(''Пора_Начинать'',''First'')">'+@Цвет('Продолжить',БЕЛ,1)+'</a><br>'
$ResStr+='</td>'
$ResStr+='<td width=50>'
$ResStr+='<br>'
$ResStr+='</td>'
$ResStr+='<td width=175 <<$AlignCenter>> bgcolor=<<$Colors[КРС]>>>'
$ResStr+=' <br><a href="exec: Gt(''Конец'', 0)">'+@Цвет('Отказаться',БЕЛ,1)+'</a><br>'
$ResStr+='</td>'
$ResStr+='</tr>'
$ResStr+='</table>'
$ResStr+='</center>'
*Clr
$ResStr
...
#Цвет
!Выдает строку оформенную в нужный цвет с нужными параметрами (Bold, Italic, Under)
!$Args[0] - Строка
!Args[1] - Константа цвета
!$Args[2] - Формат ('b' - Жирный, 'i' - Наклон, 'u' - Подчеркнуто)
!Args[2] - Формат (1 - Жирный, 2 - Наклон, 3 - Подчеркнуто)
Local $ResStr
If ArrType('Args',0)='#' : $Args[0]=$Str(Args[0])
If Args[2]=1 : $Args[2]='b'
If Args[2]=2 : $Args[2]='i'
If Args[2]=3 : $Args[2]='u'
If $Args[2]='b' or $Args[2]='i' or $Args[2]='u' :
$ResStr='<'+$Args[2]+'><font color=<<$Colors[Args[1]]>>>'+$Args[0]+'</font></'+$Args[2]+'>'
Else
$ResStr='<font color=<<$Colors[Args[1]]>>>'+$Args[0]+'</font>'
End
$Result=$ResStr
--- Цвет ---
Спасибо)
Вообще вопрос очень популярный, он на форуме встречается с десяток раз, но найти на него ответ и правда довольно сложно.
Есть справочник по самым часто задаваемым вопросам и темы “Как сделать?”, там этот вопрос тоже освещён:
https://aleksversus.github.io/howdo_faq/docs/howdo/contents/hyperlink/hyperlinks_color
