Тема: AHK: Получить значения параметров Gui Margin
Как получить текущие значения параметров Gui Margin, х и у.
Win10x64 AhkSpy, Hotkey, ClockGui
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Как получить текущие значения параметров Gui Margin, х и у.
Думаю, никак. По-моему, Gui Margin — это внутреннее понятие для AHK, в Windows такого нет.
То есть как узнать величину автоматического отступа от края окна уже после создания окна GUI?
В английской справке, кажется, говорится о привязке к величине шрифта. А системный шрифт наверное можно узнать.
То есть как узнать величину автоматического отступа от края окна уже после создания окна GUI?
Да.
Шрифт тут не причём, оно по умолчанию 10 и 10, или значение установленное с помощью команды.
А да, по умолчанию зависит от шрифта. Но как узнать если не по дефолту?
Margin — это не постоянное значение, его менять можно для новых контролов.
Шрифт в настройках ОС где-то хранится, в реестре наверное. Можно ведь менять размер значков на рабочем столе, это из той же оперы.
teadrinker
Да, но почему то х не учитывается.
Gui, Margin, 0, 0
Gui, Add, Text, Border w100, 1
Gui, Margin, 10, 10
Gui, Add, Text, Border w100, 2
Gui, Margin, 20, 20
Gui, Add, Text, Border w100, 3
Gui, Show
Return
Пускай не постоянные, интересуют последние значения на момент извлечения.
ypppu
Так интересует ещё если значения не по умолчанию.
Да, но почему то х не учитывается.
Точнее х слева.
Хотя может просто при позиционировании следующего контрола используется по умолчанию "хр".
Не знаю, не изучал. Получить текущее значение Margin X можно, добавив новый скрытый контрол, и определив его позицию.
А, точно, вспомнил что я так уже делал.
Gui, Margin, 20, 40
Gui, Add, Text, Hidden xm ym HWNDhDummy
GuiControlGet, Pos, Pos, %hDummy%
DllCall("DestroyWindow", "Ptr", hDummy)
MsgBox % PosX " " PosYТолько PosY не поможет, если уже были добавлены другие контролы.
Всмысле?
А, нет, забыл, что такое m.
Что-то у меня Margin, X, Y только первый раз срабатывает. Если в ходе создания GUI ещё раз прописать Margin, X, Y, то это повлияет только на Y, а X остаётся без изменений.
ypppu
Я в 10 посте предположил почему. X меняется, это можно увидеть справа от контрола (см. 8 пост).
В общем, после создания хотя бы одного ЭУ Margin, X уже менять нельзя, только Margin, , Y.
Отступ справа меняется же.
Gui, Margin, 110, 0
Gui, Add, Text, Border w100, 1
Gui, Margin, 0, 0
Gui, Add, Text, Border w100, 2
Gui, Show
ReturnДействительно, справа меняется. Это не очень соответствует документации:
Хотя поле можно изменить в процессе добавления элементов управления, изменение затронет только те элементы управления, которые будут добавлены, а не уже существующие.
Кстати Margin работает со знаком минус.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться