Тема: AHK: GUI.Text
Здравствуйте!
Такая проблема:
Если на форму поместить картинку, а потом текст, получается так:
Подскажите, как убрать этот "ореол" вокруг текста?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте!
Такая проблема:
Если на форму поместить картинку, а потом текст, получается так:
Подскажите, как убрать этот "ореол" вокруг текста?
Прошу прощения, изображение долго загружалось.
А код-то где?
Я подумал, он здесь не нужен... Вот:
Gui, Add, Picture, x-4 y0 w210 h190 , 1.bmp
Gui, Add, Text, x26 y30 w150 h30 , Тили тили трали вали
Gui, Show, x131 y91 h351 w516, New GUI Window
Return
GuiClose:
ExitApp
В опции текста нужно добавить +BackgroundTrans.
Gui, Add, Picture, x-4 y0 w210 h190 , 1.bmp
Gui, Add, Text, x26 y30 w150 h30 +BackgroundTrans, Тили тили трали вали
Gui, Show, x131 y91 h351 w516, New GUI Window
Return
GuiClose:
ExitApp
Большое спасибо!
teadrinker, Вам точно телепатом работать надо. Я так долго и судорожно пытался увидеть озвученный «ореол вокруг текста», что временами действительно начинал его там видеть .
Да, я тоже сначала всматриваться стал!
Ести ли настройка для изменения цвета или жирности, для части текста из GUI? —
Gui, Add, Text, x26 y30 w150 h30 , Тили тили трали вали
Конечно есть:
html =
(
<p>Тили <span style="color: blue">тили</span> трали <span style="font-weight: 600">вали</span></p>
)
Gui, Add, ActiveX, w300 h100 vWB, about:<meta http-equiv="X-UA-Compatible" content="IE=edge">
wb.document.write(html)
Gui, Show
А как применять в GuiControl, для изменения цвета для Count?
Count := "999"
Gui, +AlwaysOnTop -Caption +ToolWindow
Gui, Font, S11 Bold c000000, Tahoma
Gui, Add, Text, vText +0x201 w88
Gui, Show, NA y-3 xCenter
loop
{
GuiControl, , Text, %A_Index%/%Count%
If A_Index = %Count%
break
sleep 10
}
return
В GuiControl, боюсь, никак.
GuiControl, +cRed +Redraw, Text
В смысле?
Count := "999"
Gui, +AlwaysOnTop -Caption +ToolWindow
Gui, Font, S11 Bold c000000, Tahoma
Gui, Add, Text, vText +0x201 w88
Gui, Show, NA y-3 xCenter
loop
{
if (A_Index = 100)
GuiControl, +cRed +Redraw, Text
if (A_Index = 200)
GuiControl, +cGreen +Redraw, Text
GuiControl, , Text, %A_Index%/%Count%
If A_Index = %Count%
break
sleep 10
}
return
У меня так цвет всего контрола меняется.
А как применять в GuiControl, для изменения цвета для Count?
Можно создавать отдельный контрол для этой переменной.
Да, но я так понял, вопрос не в этом. Хотя, могу ошибаться.
А если создавать отдельный контрол для переменной, можно ли будет выводить обе переменные в общем GUI в разных цветах?
%A_Index%/%Count%
Я понимаю, что вам трудно решиться, но всё же... рискните попробовать!!!
Я прежде всегда пробую).
Так что, не вышло?
Не понятно, как эти два контрола вписать в общий контрол.
А зачем в общий вписывать? Просто два рядом расположите.
Типа так?
Count := "999"
Gui, +AlwaysOnTop -Caption +ToolWindow
Gui, Font, S11 Bold c000000, Tahoma
Gui, Add, Text,y0 vText1 +0x201 w88
Gui, Add, Text,y0 vText2 +0x201 w88
Gui, Show, NA y-3 xCenter
loop
{
GuiControl, +cRed +Redraw, Text1
GuiControl, +cGreen +Redraw, Text2
GuiControl, , Text1, %A_Index%/
GuiControl, , Text2, %Count%
If A_Index = %Count%
break
sleep 10
}
return
Почти. Наверно не нужно менять цвет в каждой итерации цикла, это вызывает мелькание. Меняйте только один раз.
Всё равно так долго настраивать, не говоря о настройке отступов между двумя тестами.
Почему долго? Цифры проставили, и фсё.
Впрочем, да, годно получается). Как раз надо было, чтобы каждый сегмент текста из GUI имел фиксированный размер, так как иначе он весь скачет, в зависимости от количества символов.
Count := "999"
Gui, +AlwaysOnTop -Caption +ToolWindow
Gui, Font, S7 Bold c000000, Tahoma
Gui, Add, Text, vText1 y1 x4 w100 h11
Gui, Add, Text, vText2 y1 x30 w100 h11
Gui, Show, NA y-3 x450 w100 h11
loop
{
if (A_Index = 1)
{
GuiControl, +cRed +Redraw, Text1
GuiControl, +cGreen +Redraw, Text2
}
GuiControl, , Text1, %A_Index%/
GuiControl, , Text2, %Count%
If A_Index = %Count%
break
sleep 10
}
return
Если цвет нужно установить один раз, это можно делать при создании контрола. Второй контрол тоже ни к чему прописывать в цикле, там ведь текст не меняется.
Но у меня в скрипте содержание контрола несколько раз меняется.
Когда меняется — тогда и меняйте. Сейчас у вас в каждой итерации значение второго контрола каждый раз перерисовывается на то же самое, это вызывает мелькание.
Разве «if (A_Index = 1)» этому не препятствует? Если второй контрол вообще вынести из цикла, то он не отображается в GUI.
Чему — этому? У вас ведь там только цвет меняется. Содержание не в этом блоке, оно ниже.
Если второй контрол вообще вынести из цикла, то он не отображается в GUI
Это что за чудеса такие? В AHK такого закона нет. Просто правильно позиционируйте. Смотрите, сколько реально контрол места занимает. У вас каждый из контролов имеет ширину 100, они идут подряд, и каким-то образом у всего окна ширина тоже 100. Парадокс?
Count := "999"
Gui, +AlwaysOnTop -Caption +ToolWindow
Gui, Font, S7 Bold c000000, Tahoma
Gui, Add, Text, vText1 cRed y0 x0 w50 h11 right
Gui, Add, Text, vText2 cGreen yp x+3 w50 h11 left, / %Count%
Gui, Show, NA y0 x450 h11
loop % count {
GuiControl, , Text1, %A_Index%
sleep 10
}
return
А если в скрипте несколько циклов, как сделать, чтобы прописанный в GUI Text2 не попадал вместе с Text3 ?
Count := "99"
Gui, +AlwaysOnTop -Caption +ToolWindow
Gui, Font, S7 Bold c000000, Tahoma
Gui, Add, Text, vText1 cRed y0 x0 w50 h11 right
Gui, Add, Text, vText2 cGreen yp x+3 w50 h11 left, / %Count%
Gui, Add, Text, vText3 cBlue y0 x0 w50 h11 right
Gui, Show, NA y0 x450 h11
loop % count {
GuiControl, , Text1, %A_Index%
sleep 10
}
loop % count {
GuiControl, , Text3, %A_Index%
sleep 10
}
return
Не попадал куда?
Не попадал в GUI, чтобы в из разных циклов можно было выводить разные Text, и чтобы они одновременно не показывались в GUI.
Просто в одном и том же контроле показывайте разные тексты.
Вариант выделения цифр в переменной) —
Код обрезается на символе юникода. Суть в замене цифр на юникодные цифры.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться