1 (изменено: Morux2112, 2021-05-03 16:41:40)

Тема: AHK: Изображение поверх окна и взаимодействие с ним.

Доброй ночи. Нашел такую тему. Там сказано, как вывести изображение на экран поверх других окон. Но, можно ли сделать так, чтобы выводилось определённое изображение, высвечивался курсор и ты уже мог с ним взаимодействовать. Например, на выведенном изображении нажал на определённое место для ввода какого-то текста. После нажатия уже можно спокойно вводить нужный текст. В принципе реализовать вышеперечисленное не сложно, но есть пару момент. Как сделать, чтобы при вводе текста он сразу же отображался на изображении? И как вывести курсор, например, во время игры?

2

Re: AHK: Изображение поверх окна и взаимодействие с ним.

Morux2112, ваша ссылка непонятно куда ведёт.

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

3

Re: AHK: Изображение поверх окна и взаимодействие с ним.

teadrinker, странно, вставляю ссылку на тему с этого же форума, но ведёт непонятно куда. Вставил в скобки.

4 (изменено: Morux2112, 2021-05-03 01:45:57)

Re: AHK: Изображение поверх окна и взаимодействие с ним.

Morux2112 пишет:

Например, на выведенном изображении нажал на определённое место для ввода какого-то текста. После нажатия уже можно спокойно вводить нужный текст.

Еще можно так: после активации нужно вводить текст в одно место, после нажатия на ентер - переходит к следующему.

5

Re: AHK: Изображение поверх окна и взаимодействие с ним.

На этом форуме в ссылках scriptcoding через дефис. Вы её вручную, что ли писали? Можно было скопировать-вставить.

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

6

Re: AHK: Изображение поверх окна и взаимодействие с ним.

Вот теперь правильно, можете оформить, как положено.

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

7

Re: AHK: Изображение поверх окна и взаимодействие с ним.

Вопрос стоит в том, как выводить текст в определённых координатах, напечатанный в реальном времени, и при нажатии на ентер переходит на следующие координаты, где так же печатается текст.

8

Re: AHK: Изображение поверх окна и взаимодействие с ним.

А ссылку всё-таки не хотите поправить?

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

9

Re: AHK: Изображение поверх окна и взаимодействие с ним.

teadrinker, исправил

10

Re: AHK: Изображение поверх окна и взаимодействие с ним.

Вот простой пример, как можно интерактивно писать текст на экране:

X_Text := 500
Y_Text := 500
fontName := "Calibri"
fontSize := 64
fontColor := 0x4682B4

Gui, Text: New, +LastFound +Owner -Caption +AlwaysOnTop +E0x20
Gui, Margin, 0, 0
Gui, Font, s%fontSize% q4 c%fontColor%, %fontName%
Gui, Color, FFFFFF
WinSet, Transcolor, FFFFFF
Gui, Add, Text

Gui, New,, Enter your text here
Gui, Add, Edit, w300 h100 gWriteText
Gui, Show, x0 y0
Return

GuiClose:
   ExitApp

WriteText:
   GuiControlGet, Edit1
   if (Edit1 = "") {
      Gui, Text:Show, Hide
      Return
   }
   Gui, New
   Gui, Font, s%fontSize% q4, %fontName%
   Gui, Add, Text,, % Edit1
   GuiControlGet, Pos, Pos, Static1
   Gui, Destroy
   Gui, Text: Default
   GuiControl, Move, Static1, w%PosW% h%PosH%
   GuiControl,, Static1, % Edit1
   Gui, Show, NA x%X_Text% y%Y_Text% w%PosW% h%PosH%
   Return

Правда, качество отрисовки не идеальное. Чтобы его улучшить, нужно использовать GDIPlus с помощью библиотеки Gdip.ahk.

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

11 (изменено: teadrinker, 2021-05-04 20:18:09)

Re: AHK: Изображение поверх окна и взаимодействие с ним.

Благодарю. А на счёт "перескакивания" на следующую строчку, на определённые координаты?

12

Re: AHK: Изображение поверх окна и взаимодействие с ним.

Не стоит ради одной строчки цитировать весь предыдущий пост, используйте кнопку «Ответить».

Morux2112 пишет:

А на счёт "перескакивания" на следующую строчку, на определённые координаты?

Я не очень представляю, как вы видите работу скрипта, но если требуется на экране удерживать текст в разных координатах, придётся создать ещё одно окно, такое как Gui, Text, и показывать его в нужном месте.

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

13

Re: AHK: Изображение поверх окна и взаимодействие с ним.

teadrinker, только сейчас появилась возможность протестировать ahk. Возможно ли печатать текст, не выводя gui окно?

14

Re: AHK: Изображение поверх окна и взаимодействие с ним.

Можно так:

#UseHook
X_Text := 500
Y_Text := 300
fontName := "Calibri"
fontSize := 64
fontColor := 0x4682B4

Gui, Text: New, +LastFound +Owner -Caption +AlwaysOnTop +E0x20
Gui, Margin, 0, 0
Gui, Font, s%fontSize% q4 c%fontColor%, %fontName%
Gui, Color, FFFFFF
WinSet, Transcolor, FFFFFF
Gui, Add, Text
Return

F1::
   if (t := !t) {
      Hook := InputHook()
      Hook.KeyOpt("{All}", "N")
      Hook.OnKeyDown := Func("OnKeyDown").Bind(X_Text, Y_Text, fontSize, fontName)
      Hook.Start()
   }
   else {
      Gui, Text:Show, Hide
      Hook.Stop()
   }
   Return

Esc:: ExitApp

OnKeyDown(X_Text, Y_Text, fontSize, fontName, Hook, vk, sc) {
   text := Hook.Input
   if (text = "") {
      Gui, Text:Show, Hide
      Return
   }
   Gui, New
   Gui, Font, s%fontSize% q4, %fontName%
   Gui, Add, Text,, % text
   GuiControlGet, Pos, Pos, Static1
   Gui, Destroy
   
   Gui, Text: Default
   GuiControl, Move, Static1, w%PosW% h%PosH%
   GuiControl,, Static1, % text
   Gui, Show, NA x%X_Text% y%Y_Text% w%PosW% h%PosH%
}

По F1 переключение в режим записи на экране.

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

15

Re: AHK: Изображение поверх окна и взаимодействие с ним.

teadrinker, большое спасибо.