Re: AHK: Замена "Window Spy"
Здесь ошибка:
SendMessage, WM_GETOBJECT, 0, 1, , % "ahk_id" (ControlID ? ControlID : WinID)
Надо так:
SendMessage, WM_GETOBJECT, 0, 1, Chrome_RenderWidgetHostHWND1, % "ahk_id " WinID
Проверял на скайпе.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы Назад 1 … 14 15 16 17 18 19 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здесь ошибка:
SendMessage, WM_GETOBJECT, 0, 1, , % "ahk_id" (ControlID ? ControlID : WinID)
Надо так:
SendMessage, WM_GETOBJECT, 0, 1, Chrome_RenderWidgetHostHWND1, % "ahk_id " WinID
Проверял на скайпе.
А так как есть не работает?
В Chrome_RenderWidgetHostHWND1 в конце может быть и другой индекс.
И у меня в скайпе ApplicationFrameInputSinkWindow1.
Как есть не работает.
Chrome_RenderWidgetHostHWND с другим индексом не встречал.
Я встречал, но сейчас не вспомню.
Заменю в след версии как ты предложил, может всплывёт тогда.
И у меня в скайпе ApplicationFrameInputSinkWindow1.
У тебя наверное skype uwp, а у меня skype for desktop.
Наверное. for desktop с какими то плюсами, я не помню он же кажется теперь в винду встроен?
На моей не встроен, насчет плюсов не знаю - я им не пользуюсь - просто надо было выполнить автоматизацию.
Только не понятно почему в моём случае и с
SendMessage, WM_GETOBJECT, 0, 1, Chrome_RenderWidgetHostHWND1, % "ahk_id " WinID
в скайпе работает.
Можешь посмотреть окна скайпа через spy++.
http://screenshot.su/show.php?img=b961b … 8b72c6.jpg
Для скайпа uwp вообще не надо отправлять этого сообщения.
Это сообщение нужно отправлять только для хромовидных приложений и только один раз.
How Chrome detects the presence of Assistive Technology
For performance reasons Chromium waits until it detects the presence of assistive technology before enabling full support for accessibility APIs.Windows: Chrome calls NotifyWinEvent with EVENT_SYSTEM_ALERT and the custom object id of 1. If it subsequently receives a WM_GETOBJECT call for that custom object id, it assumes that assistive technology is running.
Mac OS X: Chromium turns on or off accessibility support based on whether it sees a client, such as VoiceOver, has set the AXEnhancedUserInterface attribute on the main application window.
To override:
Start Chrome with this flag: --force-renderer-accessibility
Or, visit this url to turn it on from within Chrome: chrome://accessibility
А так в ControlID у тебя какой коннтрол?
SendMessage, WM_GETOBJECT, 0, 1, , % "ahk_id" (ControlID ? ControlID : WinID)
Intermediate D3D Window.
Баг. Не правильно показывает Accessible path на кнопке play при загруженном видео в vlc player.
Знаешь как поправить? У меня нет влс.
Наверное стоит проверять соответствует ли конечный путь нужному элементу и если нет, то писать, что путь не найден.
Это может быть очень долго, мне кажется проще в этом убедится на практике. Или сделать кнопку проверить, но я уже забыл как убедится что объект будет именно тот.
Это будет сотые доли секунды.
Допустим мы получаем путь "4.20.2.1.1.1.1.2.1.4.1.1.1.1.1.1.1.1.1.5.1.1"
Чтобы его проверить нам надо получить acc объект по этому пути:
oAcc := Acc_Get("Object", "4.20.2.1.1.1.1.2.1.4.1.1.1.1.1.1.1.1.1.5.1.1", 0, "ahk_id " hWnd)
После чего сравниваем все его свойства с искомым объектом.
И это наверное надо делать каждый раз когда родительский хендл меняется.
каждый раз когда родительский хендл меняется
Не понял, какой хендл меняется.
Сейчас у нас алгоритм нахождения пути следующий.
1) Получаем acc объект под курсором мыши.
2) Получаем его родителя.
3) Если хендл родителя поменялся, значит постим путь от дочернего объекта.
Вот его, перед тем как постить и надо проверять.
Я так и не пойму, что за хендлы в АСС.
Вот твой код, в котором ты сравниваешь хендл родителя с дочерним.
Acc_GetPath(byref arr) {
Static DesktopHwnd := DllCall("User32.dll\GetDesktopWindow", "ptr")
If oPubObj.Acc.CLOAKED
Return 0
Acc := Object(oPubObj.Acc.AccObj)
arr := []
While Hwnd := Acc_WindowFromObject(Parent := Acc_Parent(Acc)) {
If (DesktopHwnd != Hwnd)
t1 := GetEnumIndex(Acc)
If t1 = -1
Return arr := ""
If (PrHwnd != "" && Hwnd != PrHwnd)
{
PrHwnd := Format("0x{:06X}", PrHwnd)
WinGetClass, WinClass, ahk_id %PrHwnd%
WinGet, ProcessName, ProcessName, ahk_id %PrHwnd%
arr.InsertAt(1, {Hwnd: PrHwnd, Path: SubStr(t2, 1, -1), WinClass: WinClass, ProcessName: ProcessName})
}
if (t1 = "" || Hwnd = DesktopHwnd)
break
t2 := t1 "." t2
PrHwnd := Hwnd
Acc := Parent
}
Return arr.Count()
}
Не знаю как хэндл окна может изменится. Ты можешь интегрировать свой код для проверки.
Он изменяется при перехождении из дочернего окна к главному.
У тебя в коде тут идет сравнение
If (PrHwnd != "" && Hwnd != PrHwnd)
Вот перед тем как его публиковать, как я пониаю тут:
arr.InsertAt(1, {Hwnd: PrHwnd, Path: SubStr(t2, 1, -1), WinClass: WinClass, ProcessName: ProcessName})
надо сделать проверку пути, наверное как-то так:
oAcc := Acc_Get("Object", SubStr(t2, 1, -1), child, "ahk_id " PrHwnd)
после чего проверить все его свойства.
А, я подумал что ты про некий хэндл объекта.
А ты Accessible Info Viewer проверял VLC, тот же путь что и в AhkSpy. Почему в определении пути может быть ошибка, одинаковые свойства объектов?
А зачем проверять в Accessible Info Viewer, когда мы пытаемся убрать его баги? ))
А почему у нас происходит неверный результат при первом переходе к родительскому элементу - не знаю.
Но он такой же как и у Inspect.exe, а вот у AccExplorer результат совсем другой.
Сделал, проверь.
А зачем проверять в Accessible Info Viewer, когда мы пытаемся убрать его баги?
))
Потому что делалось очень давно и коряво, хоть и по его подобию, но не уверен что код на сто процентов совпадает. Вдруг пути различаются.
а вот у AccExplorer результат совсем другой
Загадочно. В твоём случае Acc_Get по нему находит правильно?
В AccExplorer при переходе к родительскому объекту получает объект с 7 детьми у которых нет подобных свойств, как у кнопки плей., а у AhkSpy и Inspect.exe - 14.
Сейчас вроде показывает правильно.
У меня кстати перестало работать автообновление.
У меня кстати перестало работать автообновление.
Это я забыл Readme поправить.
version 4.43
В window добавил определение AutoHotkey скриптов, и некоторые действия над ними.
Ничего не понял.
Наводишь на окно скрипта, и:
4.47
Help
Check updates AutoHotkey - Проверять обновления AutoHotkey.MButton удержание над "цветным прямоугольником" когда окно AhkSpy не активно цикличный сбор инфо.
MButton удержание над "цветным прямоугольником" когда окно AhkSpy не активно цикличный сбор инфо.
Не понял, это как?
Это когда не надо деактивировать окно, и не удобно нажимать Shift+Tab. Наводишь на прямоугольник, зажимаешь MButton, водишь мышкой, должно определять, отпускаешь, останавливается.
У меня сейчас если нажать правой кнопкой мыши на цветной прямоугольник, то ahspy становится на паузу и снять его с нее невозможно.
Можешь вставить еще определение band.
BOOL WINAPI GetWindowBand(
HWND hWnd,
PDWORD pdwBand);
enum ZBID
{
ZBID_DEFAULT = 0,
ZBID_DESKTOP = 1,
ZBID_UIACCESS = 2,
ZBID_IMMERSIVE_IHM = 3,
ZBID_IMMERSIVE_NOTIFICATION = 4,
ZBID_IMMERSIVE_APPCHROME = 5,
ZBID_IMMERSIVE_MOGO = 6,
ZBID_IMMERSIVE_EDGY = 7,
ZBID_IMMERSIVE_INACTIVEMOBODY = 8,
ZBID_IMMERSIVE_INACTIVEDOCK = 9,
ZBID_IMMERSIVE_ACTIVEMOBODY = 10,
ZBID_IMMERSIVE_ACTIVEDOCK = 11,
ZBID_IMMERSIVE_BACKGROUND = 12,
ZBID_IMMERSIVE_SEARCH = 13,
ZBID_GENUINE_WINDOWS = 14,
ZBID_IMMERSIVE_RESTRICTED = 15,
ZBID_SYSTEM_TOOLS = 16,
//Windows 10+
ZBID_LOCK = 17,
ZBID_ABOVELOCK_UX = 18,
};
если нажать правой кнопкой мыши на цветной прямоугольник, то ahspy становится на паузу и снять его с нее невозможно.
У меня такого нет.
Можешь вставить еще определение band.
Ты имеешь ввиду сделать ahspy поверх всех окон?
Нет, я и мею в виду определять у других окон.
dllcall("GetWindowBand", "ptr", WinExist("A"), "uint*", band)
Не понимаю, зачем? Ни разу такого интереса не возникало, это вроде бы и так очевидно.
Например, чтобы понять можно ли вывести свое окно поверх другого окна без недокументированных функций.
Как скажешь, сделал. Window - Other.
Там ещё есть перемещение картинки в лупе, может как то доделаю манипуляции с выделенным фрагментом снимка.
может как то доделаю манипуляции с выделенным фрагментом снимка.
version 4.51
ГК работают только при курсоре над рендером лупы.
RButton - Начать или закончить выделение фрагмента.
MButton - Перейти к диагональной точке выделения.
Shift+MButton - Перейти к следующей точке выделения по часовой стрелке.
Tab или F1 или F11 - Развернуть или отменить разворачивание окна, или кнопка "квадрат".
F12 - Показать меню, или кнопка "три полоски".Пункты меню:
Если выделение включено, используется выделенный фрагмент, иначе весь экран.Save to temp file and edit - Сохраняет в файл "AhkSpy picture.png", в папку TEMP, и открывает в редакторе.
Save to clipboard - Сохраняет bitmap в буфер обмена.
Save to clipboard as Base64 - Сохраняет bitmap в буфер обмена в виде строки Base64.
Save to file - Сохраняет в файл "AhkSpy picture %ВРЕМЯ%.png", на рабочий стол.
Save to file and edit - Сохраняет в файл "AhkSpy picture %ВРЕМЯ%.png", на рабочий стол, и открывает в редакторе.
Select window - Установить выделение окна.
Select control - Установить выделение контрола.
Select accesible - Установить выделение accesible.
У меня продолжает глючить.
При нажатии правой кнопки мыши на цветной квадратик появляются тултипы stop->pause->stop, после чего скрипт перестает реагировать.
Ctrl+Tab - Скрывает окно AhkSpy, извлекает данные для текущего режима, в лупе не отображает обводку объектов.
появляются тултипы stop->pause->stop, после чего скрипт перестает реагировать.
А какие у тебя настройки?
MButton удержание над "цветным прямоугольником" когда окно AhkSpy не активно цикличный сбор инфо.
Это работает?
Галочки везде сняты.
А какие у тебя настройки?
Хотя у меня работает с любыми, которые вроде бы могли повлиять.
Это работает?
Да.
version 4.52
Что то поправил.
Сейчас не глючит, но:
RButton - Начать или закончить выделение фрагмента.
MButton - Перейти к диагональной точке выделения.
Shift+MButton - Перейти к следующей точке выделения по часовой стрелке.
Не работает.
Нажимаю правую кнопку - появляется w:1 h:1.
Select window - Установить выделение окна.
Select control - Установить выделение контрола.
Select accesible - Установить выделение accesible.
Ctrl+Tab - Скрывает окно AhkSpy, извлекает данные для текущего режима, в лупе не отображает обводку объектов.
А это для чего?
А это для чего?
Когда окно AhkSpy перекрывает то что надо определить.
Нажимаю правую кнопку - появляется w:1 h:1.
Дальше левой перемещай.
Тестируй пока с Spot only Shift+Tab, я без него не пользуюсь. Может поправлю, может удалю режим постоянного определения, как то они плохо уживаются.
Перемещаю, но выделение визуально не отображается, хотя картинка при сохранении режется.
Ctrl+Tab
но выделение визуально не отображается
Оно еле заметное.
4.53
Может поправлю
Что то поправил с лупой и правой кнопкой с выключенным Spot only Shift+Tab.
Добавил.
Select AhkSpy - Установить выделение на окно AhkSpy.
4.60
Save to clipboard as Base64 - Сохраняет в файл "AhkSpy picture for Base64.png", в папку TEMP, читает файл и сохраняет данные в буфер обмена в виде строки Base64.
Если удерживать Control при выборе пункта, то строка будет в виде переменной AutoHotkey.
Переделал строку Base64 на получение из файла пнг, она в 5 раз короче чем из Bitmap. В коде осталась прежняя BitmapToBase64, не могу понять как её надо переделать чтобы получать аналогичную строку без создания файла пнг.
Решено.
4.61
Save to clipboard as Base64 - Сохраняет в буфер обмена в виде строки Base64, с кодеком PNG.
Если удерживать Control при выборе пункта, то строка будет в виде переменной AutoHotkey.
Если удерживать Shift при выборе пункта, то текст будет без переносов строк.
Я из этого ни строчки не понял.
Сохраняешь изображение в строку, потом используешь её в исходном коде для поиска или для отображения, или ещё как...
В каком смысле «изображение»? Изображение чего? Это файл с изображением?
Bitmap в виде строки.
Ты вроде как последний человек которому это должно быть не понятно.
http://forum.script-coding.com/viewtopi … 769#p92769
Последний из трёх, кто читает эту тему. Должно быть понятно любому пользователю. Я вот до сих пор не понимаю, о каком bitmap'е идёт речь. Откуда bitmap-то берётся?
Так в описании есть:
Если выделение включено, используется выделенный фрагмент, иначе весь экран.
ГК работают только при курсоре над рендером лупы.
RButton или End - Начать или закончить выделение фрагмента.
MButton или Home - Перейти к диагональной точке выделения.
Shift+MButton или Shift+Home - Перейти к следующей точке выделения по часовой стрелке.
Tab или F1 или F11 - Развернуть или отменить разворачивание окна, или кнопка "квадрат".
F12 или AppsKey - Показать меню, или кнопка "три полоски".
Стрелки клавиатуры - смещение на 1 пиксель, с Shift на 10.
WheelUp, WheelDown, PgUp,PgDn - приблизить, отдалить.
Пункты меню:
Если выделение включено, используется выделенный фрагмент, иначе весь экран.
Save to temp file and edit - Сохраняет в файл "AhkSpy picture.png", в папку TEMP, и открывает в редакторе.
Save to clipboard - Сохраняет bitmap в буфер обмена.
Save to clipboard as Base64 - Сохраняет в буфер обмена в виде строки Base64, с кодеком PNG.
Если удерживать Control при выборе пункта, то строка будет в виде переменной AutoHotkey.
Если удерживать Shift при выборе пункта, то текст будет без переносов строк.
Save to file - Сохраняет в файл "AhkSpy picture %ВРЕМЯ%.png", на рабочий стол.
Save to file and edit - Сохраняет в файл "AhkSpy picture %ВРЕМЯ%.png", на рабочий стол, и открывает в редакторе.
Select window - Установить выделение окна.
Select control - Установить выделение контрола.
Select accesible - Установить выделение accesible.
Select AhkSpy - Установить выделение на окно AhkSpy.
Ну, так бы и написал, что имеется в виду изображение из инструмента лупа (и напомнил бы, как он вызывается).
Кстати, не нашёл, как вызвать его из меню. И почему бы не сделать обычное оконное меню?
и напомнил бы, как он вызывается
Да, действительно нет в описании. Добавил. Но как бы кнопка zoom, и наличие лупы на картинке намекает.
Лупа запускается по MButton над "цветным прямоугольником" когда окно AhkSpy активно, или кнопкой zoom в первом заголовке.
так бы и написал, что имеется в виду изображение из инструмента лупа
Я думал что мы изначально в этом контексте беседуем.
И почему бы не сделать обычное оконное меню
Ты как то предлагал. Мне не нравится что оно место занимает.
Кстати, не нашёл, как вызвать его из меню
Оно и так парой более удобных методов вызывается, зачем дублировать.
Мне не нравится что оно место занимает.
То, как сейчас решено не юзерфрендли. Не получится просто запустить скрипт и пользоваться, нужно описание читать.
Но как бы кнопка zoom, и наличие лупы на картинке намекает.
Да её не так-то просто разглядеть среди всего неподготовленному взгляду. Непонятно, почему она расположена в одной строке с ( Title ), какое к заголовку отношение? Я бы вообще над дизайном подумал, немного сумбурно всё.
Оно и так парой более удобных методов вызывается, зачем дублировать
Так ещё надо догадаться об этих методах. Я вот не сразу понял, как zoom вызывается.
То, как сейчас решено не юзерфрендли.
Проект не коммерческий, поэтому тут главное насколько автору удобно.
почему она расположена в одной строке с ( Title ), какое к заголовку отношение?
Ну а как, для неё отдельно высоту занимать, тоже не вариант, тут цель чтобы в окне как можно больше данных помещалось. Если всё сделать наглядно, места не останется.
Но сейчас может и стоит сделать кнопку рядом с Button, раньше с лупы толку немного было.
Я бы вообще над дизайном подумал, немного сумбурно всё.
Я думал, предлагай.
поэтому тут главное насколько автору удобно
Это если ты совсем не заинтересован, чтобы кто-то ещё пользовался. Но если выкладываешь на форуме, значит это не так. Кроме того, тебе должно быть выгодно большее количество пользователей твоего бесплатного продукта, так и платные заказчики подтянутся.
Я думал, предлагай.
Прежде всего, сразу непонятно, какой режим активен в данный момент. Если используешь html, почему бы не сделать подсвечиваемую кнопку?
Я бы подумал над вариантом с несколькими вкладками, при активации каждой из которых собирается определённый тип информации.
если выкладываешь на форуме, значит это не так
Выкладываю по принципу как есть, другие просто так делятся всяким полезным, и я так же.
Кроме того, тебе должно быть выгодно большее количество пользователей твоего бесплатного продукта, так и платные заказчики подтянутся.
Это не из той оперы. Программа для кодеров, потенциальным клиентам она не нужна. Сейчас 1000+ установок, и никакого толку.
Прежде всего, сразу непонятно, какой режим активен в данный момент. Если используешь html, почему бы не сделать подсвечиваемую кнопку?
В заголовке написан режим. А кнопки давно хочу такие сделать, но руки не доходят до красоты.
Я бы подумал над вариантом с несколькими вкладками, при активации каждой из которых собирается определённый тип информации.
Как то совсем размыто, тут конкретика нужна.
Как то совсем размыто, тут конкретика нужна.
Просто заменить кнопки на вкладки, и их количество может быть большим, чем три. В частности, для IAccessible логично было бы сделать отдельную вкладку, чтобы было меньше путаницы.
В частности, для IAccessible логично было бы сделать отдельную вкладку, чтобы было меньше путаницы
А зачем, по-моему наоборот удобно.
teadrinker
Мне тоже так неудобно, кроме асс я и другое попутно смотрю, нужен только асс, ставлю якорь. Если профит очевиден не всем, то это вкусовщина. А вкладки, это те же кнопки, только они мелкие и неудобные, иначе место отнимут.
только они мелкие и неудобные, иначе место отнимут
Не совсем понял. Разве размер и расположение нельзя любыми сделать?
Мне кажется очевидным удобство структурированной информации, а не сваленной в кучу, в которой не сразу легко что-то найти.
Ещё только когда начал увлекаться AHK написал свой простенький вариант Window Spy, выглядит так:
До сих пор предпочитаю пользоваться им, как раз из-за внятного расположения всей информации.
Попробовал последнюю версию, выдает ошибку.
Error: Call to nonexistent function.
Specifically: Min(oZoom.CropX, oZoom.nXOriginSrc), sy := Min(oZoom.CropY, oZoom.nYOriginSrc)
Line#
7074: ObjActive.AhkSpy_Minimize()
7075: }
7076: Else
7077: ToolTip("Save file to desktop", 800)
7078: }
7080: {
7081: if oZoom.Crop
---> 7082: w := oZoom.CropWidth, h := oZoom.CropHeight, sx := Min(oZoom.CropX, oZoom.nXOriginSrc), sy := Min(oZoom.CropY, oZoom.nYOriginSrc)
7085: Else
7086: w := oZoom.VirtualScreenWidth, h := oZoom.VirtualScreenHeight, sx
UPD:
Разобрался, это из-за версии AHK.
Согласен с teadrinker'ом, интерфейс глаза выжигает. Особенно цвет разделительных линий, слишком контрастно.
Вот для примера как было бы лучше (слева лучше):
Присоединяюсь к мнению, что интерфейс слишком ярко-кислый. Как калина с облепихой. Но и вариант от Alectric, по-моему, не сильно лучше. Лично мне нравится тёмный фон, но не сосем чёрный. Цвета текста - чтобы хорошо читалось, а именно: он не должен быть кричащим, но и не должен сливаться с фоном. Все эти настройки цвета можно где-нибудь в ini-файле хранить.
Вам шашечки или ехать?
Если "все в куче" для пользователя неудобно, то и редизайн не спасет.
А если все раскладывать по полочкам, то и смысл программы меняется, так-как можно использовать подобные программы по отдельности.
На мой взгляд главное удобство программы - получение полной информации об окне в одном окне.
Сам я лупой не пользуюсь, но мне кажется, что было бы лучше, чем использовать замысловатое самописное меню, взять за основу воркфлоу фотошопа.
А именно создать 2 кнопки - одна для выделения (пунктирный квадратик в фотошопе), вторая для передвигания - стрелка.
Выделили нужный участок, нажали правой кнопкой мыши - выскочило меню со всеми вариантами экспорта.
замысловатое самописное меню
Что за меню?
Выделение в лупе делал в первую очередь для вырезания мелких фрагментов, так чтобы было проще сфокусироваться на конкретном пикселе. Долго думал как сделать, вариант с обычной обводкой мне кажется для этого не самый удобный, но ещё подумаю.
он не должен быть кричащим, но и не должен сливаться с фоном
Согласен, предложите свои цвета. Переменные с цветами в начале кода, для себя вы их потом можете перенести в include.
Что за меню?
1542 пост.
Посмотри, как это сделано в фотошопе.
Куда еще удобнее?
Разве размер и расположение нельзя любыми сделать
Так я же говорю, делаешь маленькие - не удобно кликать, делаешь чтобы удобно - место занимают.
Твоя программа конечно нагляднее, тут спору нет, но у тебя на одной странице умещается всего 11 параметров. Сделай в такое окно вывод такого же количества параметров как у меня, тогда уже будет видно как удобней.
Если бы я решил её развивать, я бы делал вкладки.
Malcev
У меня нет фотошопа. Скинь пару скринов.
teadrinker
Кстати можно сделать мелкие кнопки с именами заголовков, при нажатии будет ставится якорь, как говорится и нашим и вашим. .
Неважно в принципе кнопки или вкладки. Вкладки — это просто более наглядная визуализация. Главное, чтобы было сразу понятно, какой режим активен.
Ещё, кстати, можно в html фолдинг реализовать, сворачивать/разворачивать какие-либо поля.
А в светлой теме, которой я пользуюсь, не так уже режет, как на скриншоте Alectric. Но, всё-таки я настройки чуток изменил.
If !DarkTheme
{
Global ColorFont := "000000" ;; Цвет шрифта
, ColorBg := "FFFFFF" ;; Цвет фона "F0F0F0" E4E4E4 F8F8F8
, ColorBgPaused := "f7f7f7" ;; Цвет фона при паузе F0F0F0
, ColorSelMouseHover := "3399FF" ;; Цвет фона элемента при наведении мыши 3399FF 96C3DC F9D886 8FC5FC AEC7E1
, ColorSelMouseHoverText := ColorBg ;; Цвет текста элемента при наведении мыши 96C3DC F9D886 8FC5FC AEC7E1
, ColorSelButton := "96C3DC" ;; Цвет фона при нажатии на кнопки
, ColorSelAnchor := "FFFF80" ;; Цвет фона заголовка для якоря
, ColorHighLightBckg := "FFE0E0" ;; Цвет фона некоторых абзацев
, ColorDelimiter := "E14B30" ;; Цвет шрифта разделителя заголовков и параметров
, ColorTitle := "27419B" ;; Цвет шрифта заголовка
, ColorLineTitles := "444499" ;; Цвет линии заголовка
, ColorParam := "149920" ;; Цвет шрифта параметров
, ColorErrorAccPath := "ff0000"
, ColorErrorAccMarquee := "ffcc00"
, ColorErrorAccMarquee := "ffcc00"
, ColorStyleComment1 := "f0f0f0"
, ColorStyleComment2 := "C0C0C0"
, ColorSelectedFind := "6666FF"
, ColorBorderHoverInput := "4A8DFF"
, ColorPreOverflowHide := "E2E2E2"
, ColorScrollArrows := "686868"
, ColorScrollBack := "F0F0F0" b
, ColorScrollFace := "CDCDCD"
}
Прежде всего, сразу непонятно, какой режим активен в данный момент. Если используешь html, почему бы не сделать подсвечиваемую кнопку?
Главное, чтобы было сразу понятно, какой режим активен.
Сделал, без html.
Ещё, кстати, можно в html фолдинг
Да, хорошая идея.
Посмотри, как это сделано в фотошопе.
Не знаю дойдут ли руки, не так просто сделать, как сейчас меня пока что устраивает.
ypppu
Надо тогда и тёмную допилить, и проголосавать чтобы всех всё устроило.
В целом стало выглядеть симпатичнее. Но использовать Static в качестве кнопки спорная идея, ты знаешь, что туда нужно нажимать, только потому, что там раньше была кнопка.
Предлагаю всегда вставлять в Acc Do Default Action, так как оно может быть прописано, даже когда не определено.
использовать Static в качестве кнопки спорная идея
Только потому что при наведении он чутка не подсвечивает?
Malcev
Ты про Real Object, можешь подробнее?
Я имею в виду то, что даже если свойство DefaultAction у элемента не определено, то применив к этому элементу метод DoDefaultAction в результате может дать нажатие на этот элемент.
Только потому что при наведении он чутка не подсвечивает?
Ну да, может быть непонятно, что сюда нужно нажимать, это не выглядит, как кнопка.
Malcev
Добавил.
Подскажите, как использовать ваш скрипт в своем скрипте?
Хотелось бы подключить его в виде include AhkSpy.ahk и вызывать ваши функции в своем скрипте.