Re: AHK: GUI смена фона при наведении на элементы в блоке
upsi_daezium, ваша картинка не грузится. Выберите какой-нибудь приличный сервис, например http://imgur.com/, а лучше приведите код.
Re: AHK: GUI смена фона при наведении на элементы в блоке
Странно, почему у тебя не грузится. У меня показывается.
Re: AHK: GUI смена фона при наведении на элементы в блоке
У меня ни в одном десктопном браузере не показывается. Вот с мобильного попробовал — загрузилось. Может, провайдер считает сайт подозрительным.
Re: AHK: GUI смена фона при наведении на элементы в блоке
У меня показывается.
У меня тоже.
Re: AHK: GUI смена фона при наведении на элементы в блоке
Ну тогда проблема в моём провайдере, наверно.
Re: AHK: GUI смена фона при наведении на элементы в блоке
Что такое блок и что такое средний элемент?
Re: AHK: GUI смена фона при наведении на элементы в блоке
teadrinker извиняюсь, не знал, что у вас не откроется.
А вот код.
Gui, destroy
Gui, -Caption +ToolWindow -AlwaysOnTop -SysMenu
Gui, Color, ffffff
results := 20
i := 0
While i < results
{
if i = 0 ; for first result
{
; возможное решение задачи посредством прогресбара
Gui, Add, Progress,x0 y0 w300 h20 cbbffff BackgroundFFEEFF vMyProgress
GuiControl,, MyProgress, 50
Gui, Add, Pic,+BackgroundTrans x0 y0, Logo%i%.gif
Gui, Add, Text,+BackgroundTrans x+0 y0 gLabel , result%i%
Gui, Add, Text, xp y20 gLabel , sometext%i%
}
else if i <> 0
{
Gui, Add, Pic, x0 y+0, Logo%i%.gif
Gui, Add, Text, x+0 yp+12 gLabel ,result%i%
Gui, Add, Text, xp+ y+0 gLabel , sometext%i%
}
i := i +1
}
Gui, Show, NA
; press control
Label:
MsgBox, % test
Return
Задача такая, нужно чтобы при наведении\снятии мышки фон у данного элемента менялся.
Если посмотреть код или запустить скрипт, то будет видно, что создастся список из 20 элементов, в каждом из которых содержится картинка и 2 надписи. В коде я отметил, возможную попытку решения через прогрессбар.
Re: AHK: GUI смена фона при наведении на элементы в блоке
upsi_daezium, так у меня-то этих картинок нет. Но задача ясна, могу написать свой пример без этих картинок. Либо дайте на них ссылку.
Re: AHK: GUI смена фона при наведении на элементы в блоке
upsi_daezium, то есть Вы хотите, чтобы фон изменялся не у всего GUI, а только прямоугольное поле под группой элементов управления?
Re: AHK: GUI смена фона при наведении на элементы в блоке
Вывод скрипта.
Обратите внимание на прозрачность у картинки первого элемента.
http://imgur.com/a/yUGHp
Re: AHK: GUI смена фона при наведении на элементы в блоке
upsi_daezium, баз наличия Logo.gif-ов эта информация бесполезна.
13 2016-12-27 20:56:34 (изменено: upsi_daezium, 2016-12-27 21:58:47)
Re: AHK: GUI смена фона при наведении на элементы в блоке
teadrinker вот http://imgur.com/a/xB3PY это лого, в последней версии я переделал в формат пнг, потому что он поддерживает полупрозрачность.
А это вариант как я хочу, первый элемент меняет фон и цвет текста при наведении на него мышкой http://imgur.com/a/xag1T.
Re: AHK: GUI смена фона при наведении на элементы в блоке
первый элемент меняет фон и цвет текста при наведении на него мышкой
В смысле, нужно, чтобы все элементы меняли цвет при наведении, или только первый?
P. S. Неправильно указываете ссылку на картинку, чтобы её было видно здесь. В теге img нужно указывать не ссылку на страницу (http://imgur.com/a/xag1T), а именно на картинку (http://i.imgur.com/9v3c4Rj.png):
15 2016-12-27 21:52:50 (изменено: upsi_daezium, 2016-12-27 22:07:29)
Re: AHK: GUI смена фона при наведении на элементы в блоке
teadrinker да все, на которые наводишь мышкой, когда убираешь, то цвет в дефолт.
П.С. А, спасибо, а то я думал глюк у меня какой-то с этим сервисом.
upsi_daezium, то есть Вы хотите, чтобы фон изменялся не у всего GUI, а только прямоугольное поле под группой элементов управления?
Да, вы все правильно поняли.
Re: AHK: GUI смена фона при наведении на элементы в блоке
ElemsNumber := 20
logoPath := "D:\Downloads\dJ8db6A.png" ; указать путь к картинке
MainColor := "F0F0F0" ; цвет фона окна
HoverColor := "BBFFFF" ; цвет при наведении
width := 300 ; ширина окна
Gui, Main: -Caption +ToolWindow +hwndhMainGui
Gui, Main: Color, % MainColor
Loop % ElemsNumber {
Gui, %A_Index%: Default
Gui, -Caption +ToolWindow +ParentMain
Gui, Margin, 0, 0
Gui, Color, % MainColor
Gui, Add, Pic, x0 y0, % logoPath
Gui, Add, Text, x+0 yp+12, result%A_Index%
Gui, Add, Text, xp y+0 vText, sometext%A_Index%
if (A_Index = 1) {
GuiControlGet, Text, Pos
height := TextY + TextH
}
Gui, Show, % "NA x0 y" (A_Index - 1) * height " w" width
}
Gui, Main: Show, % "NA w" width " h" height * ElemsNumber
OnMessage(0x200, Func("WM_MOUSEMOVE").Bind(MainColor, HoverColor, hMainGui))
OnMessage(0x201, "WM_LBUTTONDOWN")
Return
WM_LBUTTONDOWN() {
static start := 0
if (A_TickCount - start) < 400
Return
MsgBox, % A_Gui ; здесь вместо MsgBox действие при клике по элементу
Sleep, 400
start := A_TickCount
}
WM_MOUSEMOVE(MainColor, HoverColor, hGui) {
static prev := [], timer
if (!A_Gui || A_Gui = prev[1])
Return
Gui, %A_Gui%: Color, % HoverColor
try Gui, % prev[1] " :Color", % MainColor
prev[1] := A_Gui
try SetTimer, % timer, Delete
timer := Func("ClearColor").Bind(A_Gui, MainColor, prev, hGui)
SetTimer, % timer, 100
}
ClearColor(nGui, MainColor, prev, hMainGui) {
MouseGetPos,,, hwnd
if (hwnd = hMainGui)
Return
Gui, %nGui%: Color, % MainColor
prev[1] := ""
SetTimer,, Delete
}
Пробовал с Progress — не получилось, при смене цвета Progress выходит на передний план.
Re: AHK: GUI смена фона при наведении на элементы в блоке
Круто, спасибо.