Я хотел бы организовать стандартные плавающие окна (палитры) в рабочем пространстве DigitalMicrograph с помощью сценариев. Чтобы удобно разместить их, мне нужно сначала получить к ним доступ. В версиях GMS 1.x я сделал это с помощью команды ChooseMenuItem. Однако элементы в меню «Окно» больше не доступны в GMS 2.x. Любые идеи о доступе к плавающим окнам из сценария?доступ к плавающим окнам в DigitalMicrograph
ответ
Я не думаю, что вы можете.
Однако существует встроенная функциональность «Палитра плавающих окон» - в чем причина, вы не используете ее?
Вы не можете быть в состоянии переместить гаджет панели (= плавающие палитры), но вы можете открыть/закрыть их по имени
void OpenGadgetPanel(String name)
void CloseGadgetPanel(String name)
и вы можете открыть/закрыть все из них, используя:
void CloseAllGadgetPanels()
void OpenAllGadgetPanels()
Одним из решений может быть использование кода, отличного от DMscript. Макеты плавающего окна сохраняются как записи реестра в HKCU \ SOFTWARE \ Gatan \ DigitalMicrograph \ и, вполне возможно, достаточно легки для управления через некоторый код, который позволит вам изменить реестр.
UPDATE 2016-03-11: Теперь я попытался манипулировать этими значениями (через regedit), и, оказывается, вы не можете изменять вещи во время работы DM. Но можно было бы создать код, который создает резервную копию текущего макета, загружает ваш предпочтительный и, наконец, запускает DM. Также возможно написать DMscript, который вызовет внешнюю программу при закрытии DM, чтобы вы могли восстановить предыдущий макет.
Если все, что вы хотите сделать, это привести их из одной установки в другую, просто экспортируйте их по одному. Затем перед импортом обязательно удалите одно и то же имя. Это работает хорошо, но, как всегда, будьте осторожны в реестре!