destiny_child
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Andrey_A_A (пост) Цитата: я вам дал все координаты - считайте - это не так сложно: | Что-то не сходится)))) Было бы просто - не писали мы бы тут. Код: GLOBALUENDS<7>+GLOBALUENDS<9>/2||GLOBALUENDS<8>+GLOBALUENDS<10>/2 | ЕСЛИ я правильно расшифровал код, тут идет отсылка к данным справки: Код: Получение информации монитора и окна на котором находится заданное окно. <info=s128|WINDOW> WINDOW - окно, варианты см. Дополнение №36 Возвращаются данные через разделитель |: 1 - 0, если окно не найдено или свёрнуто; 1, если окно существует. 2 - N - номер монитора на котором находится заданное окно (1, если окно не найдено или свёрнуто). 3 - X - X координата монитора. 4 - Y - Y координата монитора. 5 - W - ширина монитора. 6 - H - высота монитора. Если окно существует и не свёрнуто: 7 - X - X координата левого верхнего угла окна. 8 - Y - Y координата левого верхнего угла окна. 9 - W - ширина окна. 10 - H - высота окна. | Верно же? Кстати, а там разве не ошибка вкралась? "2 - N - номер монитора на котором находится заданное окно (1, если окно не найдено или свёрнуто)." Т.е. 1 вернется и для монитора номер 1 и для случая, если окно не найдено или свернуто? Наверное тут МИНУС 1 должен был быть? Так вот если это и верно - мы получаем смещение в центр - да. НО! Для какой(относительно какой) точки изображения??? Как я примерно успеваю увидеть - относительно высчитанного центра выводится левый верхний угол изображения. А должен выводиться центр его. Т.е. центр в центре. Значит вычисления еще не до конца верные. Т.е. надо что-то типа такого: Код: uends=<info=s128|TTOTAL_CMD//>??-4 imgpr=1||GLOBALUENDS<7>+GLOBALUENDS<9>/2 - @PW/2||GLOBALUENDS<8>+GLOBALUENDS<10>/2 - @PH/2 | Казалось бы. Но при запуске команды я получил окно-сообщение что не найден диск! И в панелях произошел какой-то откат по истории показа папок. Я скатился почти до корня диска. Ну и мини-инфаркт от этого схватил. Ибо ничего подобного не ожидалось от этого колдунства. Ну и мало ли что там еще могло выполниться от случайно лишней точки, вставленной не туда)))) ... Ну что-то совсем это не "не так сложно" вырисовывается.... Добавлено: А ! И еще нюанс! Для моего медлительного ноута похоже команда получения инфы о мониторе/окне слегка тяжеловата. В итоге показ прогресса после исчезновения диалога ввода данных происходит с ощутимой задержкой. В итоге суть показа прогресса уничтожается этим фактом, ибо потом, когда прогресс все же выводится, то уже процесс фильтрации файлов в панели происходит весьма быстро. Можно как-то получение инфы загнать РАНЬШЕ, чем выводится диалог запроса данных? Код: bends=[edits=BOX_V01]||?F63,sym1||@CRLF!!Chr(124)||^^(?im)^(.*\\[^\\\r\n]*(?:||$$)[^\\\r\n]*)$ uends=<info=s128|TTOTAL_CMD//>??-4 imgpr=1||GLOBALUENDS<7>+GLOBALUENDS<9>/2 - @PW/2||GLOBALUENDS<8>+GLOBALUENDS<10>/2 - @PH/2 sends=[tc=AL-1f]??-1||&?GLOBALBENDS<1>||"%P"!! tcprm=LOADSELECTION||GLOBALSENDS<t> imgpr=-1 | Вот в этой цепочке подкоманд подзапрос инфы можно сместить в начало? Сам уже боюсь что-то двигать, а то еще что-то выполниться самостоятельно... |