1

Тема: AHK: HTML файл в GUI

Приветствую всех!
Решил создать свой кастомный GUI на основе HTML, все получается но есть проблема с отображением скрипта HTML. Много чего перепробовал, не помогает. Если брать скрипт HTML и писать его в переменную, то есть ограничение по объему, а это не то, что мне нужно. Прикрепляю файл HTML и код AHK ниже.

#NoEnv
SetWorkingDir %A_ScriptDir%
#SingleInstance Force

/*
    █████╗ ██╗  ██╗██╗  ██╗    ██████╗ ██████╗  ██████╗ ██╗   ██╗██╗███╗   ██╗ ██████╗███████╗
   ██╔══██╗██║  ██║██║  ██║    ██╔══██╗██╔══██╗██╔═══██╗██║   ██║██║████╗  ██║██╔════╝██╔════╝
   ███████║███████║█████══╝    ██████═╝██████═╝██║   ██║██║   ██║██║██╔██╗ ██║██║     ███████╗
   ██╔══██║██╔══██║██╔══██╗    ██╔══╝  ██╔══██╗██║   ██║╚██  ██╔╝██║██║╚██╗██║██║     ██╔════╝
   ██║  ██║██║  ██║██║  ██║    ██║     ██║  ██║╚██████╔╝ ╚████╔╝ ██║██║ ╚████║╚██████╗███████╗
   ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═╝    ╚═╝     ╚═╝  ╚═╝ ╚═════╝   ╚═══╝  ╚═╝╚═╝  ╚═══╝ ╚═════╝╚══════╝
*/

Gui, Margin, 0, 0

Gui, Add, ActiveX, w1280 h735 vWB, Shell.Explorer
FileGui := A_WorkingDir . "\interface.html"
WB.Navigate(FileGui)

Gui, Show
Return


GuiClose:
{
   ExitApp
}
Post's attachments

interface.html.txt 58.46 kb, 2 downloads since 2022-12-19 

You don't have the permssions to download the attachments of this post.
AHK Province — сообщество.

2

Re: AHK: HTML файл в GUI

alexsokolin пишет:

есть ограничение по объему

Ваш скрипт больше 4 ГБ ?

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

3

Re: AHK: HTML файл в GUI

Нет, вы не правильно поняли. Там идёт ограничение по строкам, как я понял. Так как когда переменная, которая содержит HTML код большая, AHK выдает ошибку. Теперь понял, что лучше это через файл HTML лучше организовать, но вот столкнулся с такой проблемой и вот не знаю что делать. Как быть?

AHK Province — сообщество.

4

Re: AHK: HTML файл в GUI

Если через отдельный файл, тогда просто считываете код из файла в переменную. Если хотите вставить в скрипт, то читайте https://www.autohotkey.com/docs/v1/Scri … ntinuation:

A continuation section cannot produce a line whose total length is greater than 16,383 characters (if it tries, the program will alert you the moment the script is launched). One way to work around this is to do a series of concatenations into a variable. For example:
...

Это не ограничение объёма, а ограничение длины строки в скрипте.

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

5 (изменено: alexsokolin, 2022-12-20 01:17:03)

Re: AHK: HTML файл в GUI

Вот сделал через чтение файла, но что-то все равно не очень как нужно. Картинки не отображаются.
https://i.imgur.com/1wMrfYj.png

AHK Province — сообщество.

6

Re: AHK: HTML файл в GUI

При чтении кодировку укажите. С картинками не знаю, наверно путь неправильно указали.

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

7

Re: AHK: HTML файл в GUI

Ну если открыть файл HTML там картинки отображаются нормально, а при отображении файла в АХК их нет.

AHK Province — сообщество.

8

Re: AHK: HTML файл в GUI

Ничего не могу сказать, пока не узнаю, где расположены картинки, и как вы указали путь.

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

9

Re: AHK: HTML файл в GUI

Всё находиться в одно папке.
https://i.imgur.com/f4Y6ZIm.png

Если открыть HTML файл то он в браузере выглядит нормально.
https://i.imgur.com/XC7mhrt.png

В HTML файле указать путь в виде названия файла, так как всё в одной папке.
https://i.imgur.com/yp9Ipp6.png

AHK Province — сообщество.

10

Re: AHK: HTML файл в GUI

Укажите полный путь к файлу.

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

11

Re: AHK: HTML файл в GUI

Не работает.

AHK Province — сообщество.

12

Re: AHK: HTML файл в GUI

В смысле? Я проверял, работает.

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

13

Re: AHK: HTML файл в GUI

Точнее работает, если указать весь путь. Но например если моим АХК будет пользоваться кто-то другой. Как тогда вставить, например % A_Script_Dir?

AHK Province — сообщество.

14

Re: AHK: HTML файл в GUI

Можно в html оставить только имя файла, а потом в переменной добавить путь к паке, например так:

html := RegExReplace(html, "src=""\K", A_ScriptDir . "\")
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

15

Re: AHK: HTML файл в GUI

Заработало, картинки есть, стили есть. Но теперь как-то странно всё отображается и с шрифтом проблемы.
https://i.imgur.com/Gi2CRlC.png
https://i.imgur.com/5c0FyxY.png

AHK Province — сообщество.

16

Re: AHK: HTML файл в GUI

Видимо потому что переменные вписал. Теперь, как я понял нужно без них продолжать делать.
https://i.imgur.com/cg4S76c.png

AHK Province — сообщество.

17

Re: AHK: HTML файл в GUI

В ActiveX в стилях переменные не поддерживаются, это более поздний стандарт.

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

18

Re: AHK: HTML файл в GUI

Т.е. никак не получиться их передать? А что с шрифтом делать? Он, так сказать, навернулся.

AHK Province — сообщество.

19

Re: AHK: HTML файл в GUI

Можно просто так же, как в предыдущем примере, заменить или добавить какие-либо значения в переменой, содержащей код. Со шрифтом это уже вопросы, выходящие за пределы ответственности AHK. Шрифт обычно указывается в стилях. При необходимости можно подгрузить извне.

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

20

Re: AHK: HTML файл в GUI

Возможно разместить какой-то другой элемент GUI поверх ActiveX?

AHK Province — сообщество.

21

Re: AHK: HTML файл в GUI

Я не пробовал, наверно как-то возможно, но зачем? На html можно сделать аналог любого элемента.

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

22

Re: AHK: HTML файл в GUI

alexsokolin, теоретически можно. Но, скорее всего, будет "глюк на глюке и глюком погоняет".

23

Re: AHK: HTML файл в GUI

Хочу через убрать рамки от слова совсем и перетаскивание окна сделать через элемент, который будет поверх ActiveX.
https://i.imgur.com/YBlnV5c.png

AHK Province — сообщество.

24

Re: AHK: HTML файл в GUI

Я так и не понял, зачем нужен такой элемент. Таскать прямо за ActiveX разве нельзя?

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