1

Тема: AHK: Активация элемента управления при наведении

Привет снова, помогите пожалуйста! Мне надо чтоб при наведении на изображение оно менялось на другое, а при "отведении" возвращалось старое изображение!

2

Re: AHK: Активация элемента управления при наведении

Проще всего так:

img1 := "http://i.imgur.com/C4YDfUK.png"
img2 := "http://i.imgur.com/Cgf3QaU.png"
width := 600
height := 450
html =
(
<style>
	body  {
		margin: 0;
		overflow: hidden;
	}
	img  {
	  position: absolute;
	  left: 0;
	  width: %width%px;
	  transition: opacity 0.2s ease-in-out;
	}
	img+img:hover  {
	  opacity: 0;
	}
</style>
<body><img src='%img1%'><img src='%img2%'></body>
)

Gui, Margin, 0, 0
Gui, Add, ActiveX, vPic w%width% h%height%, htmlfile
Pic.write(html)
Gui, Show
Return

GuiClose:
GuiEscape:
	ExitApp
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Активация элемента управления при наведении

teadrinker
Не знаю почему но всегда показывает "img2"!
Всегда показывает только 1 изображение!

4 (изменено: yalanne, 2016-06-07 23:44:24)

Re: AHK: Активация элемента управления при наведении

Pic1 := LoadPicture("shell32.dll", "Icon1 h-1 w64")
Pic2 := LoadPicture("shell32.dll", "Icon4 h-1 w64")

Gui, Add, Pic, hwndhandlePic1_2, % "HBITMAP:*" Pic1
Gui,Show,w150 h150
OnMessage(0x200,"WM_MOUSEMOVE")
Return

WM_MOUSEMOVE(){
	Global
	Local _tmp,ctrl_id
	Static StatusPic1_2
	MouseGetPos,,,,ctrl_id,2
	
	if  (!StatusPic1_2 and (ctrl_id = handlePic1_2) and (StatusPic1_2:=true))
	or (StatusPic1_2 and (ctrl_id != handlePic1_2) and (StatusPic1_2:=false)1)
	{
		ToolTip % "Установлена картинка " (_tmp:=StatusPic1_2+1)
		GuiControl, , % handlePic1_2,% "HBITMAP:*" Pic%_tmp%
	}
}

5

Re: AHK: Активация элемента управления при наведении

minesemka пишет:

Всегда показывает только 1 изображение!

А какая система и версия AHK?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: Активация элемента управления при наведении

teadrinker
Windows 8.1
Вот 2 недели назад скачал новую v1.1.24.00

7

Re: AHK: Активация элемента управления при наведении

yalanne
Спасибо, заработало!

8

Re: AHK: Активация элемента управления при наведении

teadrinker, у меня ваша версия тоже не переключает картинку.
Win 10 x64. ahk x64.

9

Re: AHK: Активация элемента управления при наведении

yalanne
А можно сделать чтоб мне не писало "Установлена картинка 1" или "Установлена картинка 2"?

10

Re: AHK: Активация элемента управления при наведении

А так:

img1 := "http://i.imgur.com/C4YDfUK.png"
img2 := "http://i.imgur.com/Cgf3QaU.png"
width := 600
height := 450
html =
(
<style>
	body  {
		margin: 0;
		overflow: hidden;
	}
	img  {
	  position: absolute;
	  left: 0;
	  width: %width%px;
	  -webkit-transition: opacity 0.2s ease-in-out;
	  -moz-transition: opacity 0.2s ease-in-out;
	  transition: opacity 0.2s ease-in-out;
	}
	img+img:hover  {
	  opacity: 0;
	}
</style>
<body><img src='%img1%'><img src='%img2%'></body>
)

Gui, Margin, 0, 0
Gui, Add, ActiveX, vPic w%width% h%height%, htmlfile
Pic.write(html)
Gui, Show
Return

GuiClose:
GuiEscape:
	ExitApp
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

11

Re: AHK: Активация элемента управления при наведении

Замени строчку

ToolTip % "Установлена картинка " (_tmp:=StatusPic1_2+1)

На

_tmp:=StatusPic1_2+1

12

Re: AHK: Активация элемента управления при наведении

teadrinker
Ни работает!

13

Re: AHK: Активация элемента управления при наведении

yalanne
Спасибо заработало!

14

Re: AHK: Активация элемента управления при наведении

yalanne, если резко убрать курсор с изображения в вашем варианте — остаётся, которое при наведении.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

15

Re: AHK: Активация элемента управления при наведении

Картинку побольше попробуйте.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

16

Re: AHK: Активация элемента управления при наведении

А такой работает?

img1 := "http://i.imgur.com/C4YDfUK.png"
img2 := "http://i.imgur.com/Cgf3QaU.png"
width := 600
height := 450
html =
(
<style>
	body  {
		margin: 0;
		overflow: hidden;
	}
	div  {
		position:relative;
		height:%height%px;
		width:%width%px;
		margin:0 auto;
	}
	img  {
	  position: absolute;
	  left: 0;
	  width: %width%px;
	  -webkit-transition: opacity 0.2s ease-in-out;
	  -moz-transition: opacity 0.2s ease-in-out;
	  -o-transition: opacity 0.2s ease-in-out;
	  transition: opacity 0.2s ease-in-out;
	}
	img+img:hover  {
	  opacity: 0;
	}
</style>
<body>
	<div>
		<img src='%img1%'>
		<img src='%img2%'>
	</div>
</body>
)

Gui, Margin, 0, 0
Gui, Add, ActiveX, vPic w%width% h%height%, htmlfile
Pic.write(html)
Gui, Show
Return

GuiClose:
GuiEscape:
	ExitApp
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

17

Re: AHK: Активация элемента управления при наведении

teadrinker, Нет. при запуске идет вторая картинка и нечего не происходит.

18

Re: AHK: Активация элемента управления при наведении

Вот зараза! А так:

img1 := "http://i.imgur.com/C4YDfUK.png"
img2 := "http://i.imgur.com/Cgf3QaU.png"
width := 600
height := 450
html =
(
<style>
	body  {
		margin: 0;
		overflow: hidden;
	}
	img  {
	  position: absolute;
	  left: 0;
	  width: %width%px;
	  transition: opacity 0.2s ease-in-out;
	}
	#top:hover  {
	  opacity: 0;
	}
</style>
<body><img src='%img1%' /><img id='top' src='%img2%' /></body>
)

Gui, Margin, 0, 0
Gui, Add, ActiveX, vPic w%width% h%height%, htmlfile
Pic.write(html)
Gui, Show
Return

GuiClose:
GuiEscape:
	ExitApp
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

19

Re: AHK: Активация элемента управления при наведении

У teadrinker все коды работают.
Просто надо вписать вначале скрипта:

FixIE(1)

; код

FixIE(Fix)
{
   Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
   If A_IsCompiled
      ExeName := A_ScriptName
   Else
      SplitPath, A_AhkPath, ExeName
   If Fix
      RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 0
   Else
      RegDelete, HKCU, %Key%, %ExeName%
}

20

Re: AHK: Активация элемента управления при наведении

А, у меня это выполнено уже.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

21

Re: AHK: Активация элемента управления при наведении

Значит, так должно сработать:

FixIE(1)
img1 := "http://i.imgur.com/C4YDfUK.png"
img2 := "http://i.imgur.com/Cgf3QaU.png"
width := 600
height := 450
html =
(
<style>
	body  {
		margin: 0;
		overflow: hidden;
	}
	img  {
	  position: absolute;
	  left: 0;
	  width: %width%px;
	  transition: opacity 0.2s ease-in-out;
	}
	img+img:hover  {
	  opacity: 0;
	}
</style>
<body><img src='%img1%'><img src='%img2%'></body>
)

Gui, Margin, 0, 0
Gui, Add, ActiveX, vPic w%width% h%height%, htmlfile
Pic.write(html)
Gui, Show
Return

GuiClose:
GuiEscape:
	ExitApp

FixIE(Fix)
{
   Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
   If A_IsCompiled
      ExeName := A_ScriptName
   Else
      SplitPath, A_AhkPath, ExeName
   If Fix
      RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 0
   Else
      RegDelete, HKCU, %Key%, %ExeName%
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder