1 (изменено: andrew.drob71, 2017-10-04 21:56:24)

Тема: AHK: Смена курсора

Ребят подскажите как сделать так что б при наведении на определённый текст менялся курсор Не знаю как описать, типо что бы нажать можно
У меня есть код, но у меня не одна ссылка а несколько...Я не знаю как сделать что бы работали все...

OnMessage(0x200, "WM_MOUSEMOVE") ; При передвижении курсора, вызывать функцию WM_MOUSEMOVE

Gui, Font, cBlue Underline
Gui, Add, Text, hwndMyText x10 y10 gLink, Наведи на меня ; Добавляем элемент Text с хендлом MyText и вызовом подпрограммы Link при клике по элементу
Gui, Margin, 10, 10
Gui, Show
return

Link:
Run, http://ahk-power.ru
return

WM_MOUSEMOVE(wParam, lParam, msg, hwnd)
{
global
if (hwnd = MyText) ; Если хендл, на котором сейчас стоит курсор, это MyText, то...
DllCall("SetCursor", uint, DllCall("LoadCursor", int, 0, int, 32649)) ; Установить курсор 32649
}

2

Re: AHK: Смена курсора

OnMessage(0x200, "WM_MOUSEMOVE") ; При передвижении курсора, вызывать функцию WM_MOUSEMOVE

Gui, Font, cBlue Underline
Gui, Add, Text, vMyText x10 y10 gLink, Наведи на меня ; Добавляем элемент Text с хендлом MyText и вызовом подпрограммы Link при клике по элементу
Gui, Add, Text, vMyText1 x10 y50 gLink, Наведи 2
Gui, Add, Text, vMyText2 x10 y100 gLink, Наведи 209
Gui, Margin, 10, 10
Gui, Show
return

Link:
Run, http://ahk-power.ru
return

WM_MOUSEMOVE(wParam, lParam, msg, hwnd)
{
global
MouseGetPos, , , id, control, 1
GuiControlGet, OutputVar, Name, % control
If (RegExReplace(OutputVar, "MyText.*", "MyText") = "MyText")
	DllCall("SetCursor", uint, DllCall("LoadCursor", int, 0, int, 32649)) ; Установить курсор 32649
}