AIMP Forum

Разное => Предложения (архив) / Suggestions (archive) => Архив / Archive => Реализовано в AIMP v4.50 / Implemented in AIMP v4.50 => Topic started by: Алексей Долматов on November 09, 2016, 23:23:40

Title: [Запланировано] Доступ к контекстному меню кнопки
Post by: Алексей Долматов on November 09, 2016, 23:23:40
Хотелось бы иметь возможность получить доступ к контекстному меню кнопки через редактирование, чтоб от одной кнопки можно было вызвать меню другой или изменить действие кнопки по скрипту.


Как вариант через скрипты
Quote from: Чтоб можно было сделать примерно такой скрипт
procedure Execute(var State: Integer);
var
  BackgroundObject : TComponent;
  AObjectLinks : TASEButton;
  AObjectLinkAction : TComponent;
begin
  AObjectLinks := TASEBindings.Create;
  AObjectLinkAction := AObjectLinks.LinkAdd('PopopMenu');
  AObjectLinks := FindObject('ButtonOpen').Get('PopupMenu');
AObjectLinks.ExecuteAction('PopopMenu');
  AObjectLinks.Free;
end;
Или просто возможность для кнопки через set задавать провайдеры pmXXXXX и получать их через вызов в скрипте.

Зачем это нужно?
1. Сейчас по ЛКМ нет возможности назначить доступ к PopupMenu
2. Возможность изменить контекстное меню без замены кнопки
Хоть мне и не нужно, но потратил время на поиски трюка доступа к этому меню.
Title: Re: Доступ к контекстному меню кнопки
Post by: Алексей Долматов on November 09, 2016, 23:30:41
P.S. Вроде что-то такое уже просили и было отказано, но решил попробовать написать, т.к. точно не помню.
Title: Re: Доступ к контекстному меню кнопки
Post by: Artem on November 09, 2016, 23:31:39
Я так и не понял, что за задачу мы решаем и зачем
Еще есть вот такая тема - https://www.aimp.ru/forum/index.php?topic=51531
Title: Re: Доступ к контекстному меню кнопки
Post by: Алексей Долматов on November 10, 2016, 00:20:25
Да, суть похожа. Получить доступ к стандартному контекстному меню.
Там основная суть сделать его в пользовательском меню.
Здесь суть:
Кнопка "кнопка" имеет PopupMenu = pmAAAA. Через кнопку "кнопка 2" (схожий элемент) задаём скрипт на вызов контекстного меню у кнопки "кнопка"
Так-же через скрипт можно одновременно заменить действие "кнопка" при нажатии "кнопка 2". Нет мыслей зачем, но вдруг нужно будет.

1-ый вариант нужен для возможности вызова стандартного и пользовательского меню на выбор с одной клавиши
https://www.aimp.ru/forum/index.php?topic=27831.msg336929#msg336929

2-ой вариант нужен для возможности групповой замены оформления кнопок и фонов.
Например, можно сделать так:
С боку две "три полоски", свитчер. Справа от них контейнер.
В варианте "А" положения свитчера справа эквалайзер и кнопка по ЛКМ вызывает DSP плагины, по ПКМ настройки эквалайзера.
В варианте "Б" информация о текущем треке. Кнопка по ПКМ вызывает быстрые настройки воспроизведения, а по ЛКМ список плейлистов.
При этом в рамках одного скрипта внешний вид контейнера и надписей меняется в зависимости от содержимого контейнера.

Конечно, эти задачи слишком специфичны и можно делать всё по ПКМ через настройку видимости кнопок и размещение их друг над другом.
Title: Re: Доступ к контекстному меню кнопки
Post by: Black_AVP on November 10, 2016, 08:41:41
Может, проще сделать, чтоб корректно работала такая схема?
(https://www.aimp.ru/forum/index.php?action=dlattach;topic=54879.0;attach=48436)

Если вышеупомянутая тема (https://www.aimp.ru/forum/index.php?topic=51531) будет реализована, то и к стандартным меню будет доступ.
Title: Re: Доступ к контекстному меню кнопки
Post by: Artem on December 03, 2016, 13:55:30
Будет делаться в рамках https://www.aimp.ru/forum/index.php?topic=51531