Страница 82 из 243
Добавлено: Пн фев 25, 2019 07:56
Avada
Loopback
Что плагин делает с параметром MoveOptionsButton /Narrow, ясно. И в старом формате MoveOptionsButton MOVE_LEGACY ясно — это то же, что MoveOptionsButton без параметра. Но везде при изменении масштабирования на странице настроек TC "Шрифты" кнопка "Опции" неправильно позиционируется по горизонтали, сползая вниз и частично перекрываясь кнопкой с плюсом — проверял со своим рабочим значением DPI 110. Это исправимо?
Добавлено: Пн фев 25, 2019 08:48
Flasher
Насчёт глюков с DPI (у меня 120 в системе, в ТС без крыжика)
подтверждаю.
Добавлено: Пн фев 25, 2019 20:23
Loopback
Да, забыл про другие DPI. Исправил.
Новая
версия.
В этой версии добавил функционал, который давно планировался - возможность произвольно задать контролы для перемещения. Так что теперь можно менять контролы как угодно (в пределах известных ограничений).
Реализовано двумя дополнительными функциями плагина AddDialog и AddControl. В них задаются
дельты перемещения/изменения размера (относительно исходных координат/размеров), для диалога и контрола соответственно. Цифры задаются для стандартных 96dpi. Сам контрол задается именем класса и экземпляра. Также можно поменять текст контрола. После установки значений вызывается MoveOptionsButton без параметров.
Например, вид как по умолчанию можно задать так (текст опций изменен для примера).
Код: Выделить всё
AddControl /QUEUEBTN /X:113 "TButton" 2
AddControl /Y:-74 "TButton" 3 "Опции"
AddControl /X:113 "TButton" 4
AddControl /X:113 "TButton" 5
AddControl /X:113 "TButton" 6
MoveOptionsButton
По "/QUEUEBTN" - кнопку "В очередь" необходимо добавлять в любом случае, даже если не планируете ее перемещать, поскольку по ее наличию определяется тип диалога ("Создать ярлык" имеет тот же класс, ох уж эта гислеровская экономия). Соответственно надо добавить этот параметр, чтобы плагин знал, что это именно та кнопка. Определять по тексту считаю ненадежным.
Если ничего дополнительными функциями не задавать, то MoveOptionsButton запускает стандартный вид перемещения.
Подробная документация будет в следующей версии Autorun.
Добавлено: Вт фев 26, 2019 07:45
Avada
Loopback
Спасибо! На мой вкус, вариант с /Narrow сейчас в масштабированном и не развёрнутом по высоте виде прекрасно работает. В немасшабированном виде, да, тут есть небольшое наложение второй опции с флажком на первую. Кроме того (и тут надо бы что-то придумать!) в любом случае при /Narrow в развёрнутом "узком" диалоге (с показом дополнительных опций) режется правая часть с кнопкой прикрепления.
Вопросов у меня на данный момент три:
1. Можно ли в обычном (широком) режиме подвинуть (по умолчанию или опционально) все кнопки налево, чтобы пустое место отображалось не слева, а справа? (С остальным буду, видимо, разбираться уже после появления подробной документации.)
2. Можно ли при Narrow как-то побороть это самое наложение опций без масштабирования, чтобы влезали последняя буква и скобка? В две строки опции дать, чуть ширину окна увеличить? Сокращение строк в LNG прошу не предлагать, это и так желающие сделают.

3. Про развёрнутый диалог сказано выше. Это сейчас самый серьёзный глюк, его надо как-то преодолеть.
Добавлено: Вт фев 26, 2019 12:00
Loopback
Avada писал(а):1. Можно ли в обычном (широком) режиме подвинуть (по умолчанию или опционально) все кнопки налево, чтобы пустое место отображалось не слева, а справа?
Их тогда просто наоборот не надо двигать. Прямо сейчас такую схему можно сделать кодом:
Код: Выделить всё
AddControl /QUEUEBTN "TButton" 2
AddControl /Y:-74 "TButton" 3
MoveOptionsButton
Avada писал(а):2. Можно ли при Narrow как-то побороть это самое наложение опций без масштабирования, чтобы влезали последняя буква и скобка?
Да, там просто строки очень длинные. Но на пару пикселей можно раздвинуть.
Сокращать перевод даже и мысли не было. Более того, мне вообще непонятно неприятие широкого вида диалога - мониторы сейчас всё больше, разрешение выше, а диалоги остаются тесными, новые опции уже добавить некуда. Я сам большой консерватор, но по-моему сейчас диалог выглядит отлично, я MoveButton уже давно не пользуюсь. Поэтому так лень было вообще за него браться
Avada писал(а):
3. Про развёрнутый диалог сказано выше. Это сейчас самый серьёзный глюк, его надо как-то преодолеть.
Не знаю. Я пробовал посмотреть сообщения в момент нажатия на кнопку Опции, не отправляется ничего, что можно было бы отловить. Все-таки в дельфи многое реализовано по-своему.
Добавлено: Вт фев 26, 2019 12:09
Avada
Loopback
Пункты 1 и 2 — второстепенные, серьёзен только, ИМХО, пункт 3 (потому что это уже не косметика, а потеря функционала, раз до запирающей кнопки добраться невозможно). Не будь этого, я бы вариант с Narrow без разговоров поставил сейчас как основной. Хотя к широким диалогам у меня отношение совершенно спокойное.
То есть шансов на корректную подгонку развёрнутой нижней части диалога пока нет? Потому как без этого только подгонка пикселей для влезания опций в основной части окна первоочередного смысла не имеет.
Добавлено: Вт фев 26, 2019 12:55
Loopback
Avada писал(а):То есть шансов на корректную подгонку развёрнутой нижней части диалога пока нет?
Красивого решения я не вижу. Есть не очень хороший вариант, можно, конечно, попробовать.
Но даже если это и удастся решить, то остается проблема с несужаемыми комбобоксами в x64-версии. Вот с этим даже идей нет. Какой смысл тратить время на решение первой проблемы, пока нет даже мыслей, как победить вторую?
Добавлено: Вт фев 26, 2019 13:04
Avada
Loopback
Немалая часть публики, как и я, по-прежнему предпочитает в 64-битных системах 32-битный TC, так что будет востребован и такой вариант. Естественно, со всеми положенными предупреждениями в документации. В TWinKey вон тоже ограничений предостаточно, но если они упомянуты в справке, то это именно ограничения а не ошибки.
Добавлено: Вт фев 26, 2019 20:59
Loopback
Avada
Ну хорошо, посмотрю. Разумеется, положительный результат пока не обещаю

Добавлено: Ср фев 27, 2019 22:09
Loopback
Avada
В общем ничего хорошего из этой затеи не выходит. Хоть и удалось добраться до элементов, появляющихся после раскрытия диалога, при сужении группы дополнительных настроек кнопка фиксации окна оказывается недоступной. Это вообще не кнопка, а фактически картинка, нарисованная на контроле. Ее положение задается один раз при создании контрола и впоследствии уже не меняется, ни при сужении, ни при расширении.
Так что тем кому нужен функционал этой кнопки - придется остаться с обычным видом диалога. Если не нужен - в 32-битной версии выглядит всё достаточно прилично. В 64-битной всё так же печально.
Добавлено: Чт фев 28, 2019 00:41
Flasher
Loopback
Поменял местами Опции и Отмена. То, что надо. Спасибо!
Код: Выделить всё
AddControl /QUEUEBTN "TButton" 2
AddControl /X:-92 "TButton" 3
AddControl /X:112 "TButton" 4
MoveOptionsButton
А можно добавить изменение ширины кнопок?
А также чтобы при перестановке кнопок переход к ним по [Shift+]Tab соответствовал текущей последовательности?
Добавлено: Чт фев 28, 2019 08:27
Avada
Loopback
Ясно, будем исходить из этого.
Добавлено: Чт фев 28, 2019 11:23
Loopback
Flasher писал(а):А можно добавить изменение ширины кнопок?
Уже есть, параметр /W: (и /H).
По поводу "странностей" с координатами - это не абсолютные значения, а дельты относительно предыдущего значения. Положительное - сдвигает вправо/вниз или увеличивает размер, отрицательное наоборот. Вообще, конечно, параметры правильнее было бы назвать /DX, /DW и т.д., но хотелось покороче, да и без документации все равно неочевидно будет.
Flasher писал(а):А также чтобы при перестановке кнопок переход к ним по [Shift+]Tab соответствовал текущей последовательности?
Теоретически должно быть возможно, если поменять порядок контролов, т.к. порядок перехода определяется порядком создания контролов в диалоге. Но тут опять же дельфи, неизвестно как оно будет.
Добавлено: Чт фев 28, 2019 13:05
BeTeP
Loopback писал(а):Уже есть, параметр /W: (и /H).
А вот за это огромное спасибо.
Увеличил ширину кнопок не уменьшая ширину диалогового окна. Получилось очень даже симпатично.
[cut]

[/cut]
Добавлено: Чт фев 28, 2019 15:24
Avada
BeTeP
А код как выглядит?