доступ к плавающим окнам в DigitalMicrograph

Я хотел бы организовать стандартные плавающие окна (палитры) в рабочем пространстве DigitalMicrograph с помощью скриптов. Чтобы разместить их удобно, мне нужно сначала получить к ним доступ. В версиях GMS 1.x я делал это командой ChooseMenuItem. Однако пункты в меню «Окно» больше не доступны в GMS 2.x таким образом. Есть идеи, как получить доступ к плавающим окнам из скрипта?


person pavel    schedule 15.07.2015    source источник


Ответы (3)


Я не думаю, что вы можете.

Тем не менее, есть встроенная функция «раскладки палитры плавающего окна» - по какой причине вы ее не используете?

введите здесь описание изображения

введите здесь описание изображения

person BmyGuest    schedule 15.07.2015

Возможно, вы не сможете перемещать панели гаджетов (=плавающие палитры), но вы можете открывать/закрывать их по имени.

void OpenGadgetPanel( String name )
void CloseGadgetPanel( String name )

и вы можете открыть/закрыть их все, используя:

void CloseAllGadgetPanels()
void OpenAllGadgetPanels()

person BmyGuest    schedule 15.07.2015

Одним из решений может быть использование кода, отличного от DMscript. Макеты плавающих окон сохраняются как записи реестра в HKCU\SOFTWARE\Gatan\DigitalMicrograph\ и вполне возможно, что ими достаточно легко манипулировать с помощью некоторого кода, который позволит вам изменить реестр.

ОБНОВЛЕНИЕ 2016-03-11: я попытался манипулировать этими значениями (через regedit), и оказалось, что вы не можете что-то изменить во время работы DM. Но можно было бы создать код, который резервирует текущую раскладку, загружает предпочитаемую и, наконец, запускает DM. Также можно написать DMscript, который будет запускать внешнюю программу при закрытии DM, чтобы вы могли восстановить предыдущую раскладку.

Если все, что вы хотите сделать, это перенести их из одной установки в другую, просто экспортируйте их одну за другой. Затем обязательно удалите все с таким же именем перед импортом. Это хорошо работает, но, как всегда, будьте осторожны в реестре!

person LinusSch    schedule 29.01.2016