John Doe wrote: ↑Mon 04 May, 2020 07:55
buniak_a_h wrote: ↑Mon 04 May, 2020 01:17
а почему в En нет Dialog
В моей версии есть.
Скрипт скачал с форума сегодня ночью. Не было.
John Doe wrote: ↑Mon 04 May, 2020 07:55
… восстановить точный порядок (зачем?), то …
(Вижу, что вы уже разобрались, но вопрос "зачем" остаётся)
Ну, например, чтобы можно было в скриптах просто переключаться туда-обратно в макросах посылкой
CtrlTab
. У меня есть пара скриптов (связанных, в основном, с компиляцией), где изменение порядка окон может оказаться фатальным.
John Doe wrote: ↑Mon 04 May, 2020 07:55
buniak_a_h wrote: ↑Mon 04 May, 2020 01:17
Кстати, с этим desktop-ом вообще странности:
Не должно быть.
Я описал. Можете попробовать мой скрипт. Если просто закрыть редактор, то попадаешь на DeskTop, а если переключиться по CtrlTab - то он становится 0-м окном и из переключения исключается.
John Doe wrote: ↑Mon 04 May, 2020 07:55
buniak_a_h wrote: ↑Mon 04 May, 2020 01:32
Переключение не произойдёт до тех пор, пока не будет вызвана команда ACTL_COMMIT или пока Far Manager не получит управление.
Это замечание устарело.
Это - не моё замечание, а цитата из поставляемой документации (
%FarHome%\Encyclopedia\FarEncyclopedia.ru.chm:\html\service_functions\advcontrol.html). Версия ФАРа 5591.
John Doe wrote: ↑Mon 04 May, 2020 09:26
Переключение окон сейчас завязано на их позицию, и это немного через задницу.
Хотелось бы от этого уйти.
Я Вас понимаю. Тем более не понимаю, зачем нужно поле
Pos, если оно повторяет номер, указанный в вызове
ACTL_GETWINDOWINFO (я проверил - действительно повторяет. Раньше, мне кажется, не повторяло).
С
Id-ом диалогового окна там действительно не совсем удобно: один и тот же диалог (например, поиск по
AltF7
), вызванный подряд, выдаёт один и тот же
Id. Однако, если между вызовами вывести другой диалог, то
Id-ы будут разные. Но это не особо актуально: (а)немодальные диалоги это пока экзотика и (б) для немодальных диалогов
Id-ы будут разные для разных экземпляров (не проверено; вывод по логике)