Форум поддержки пользователей LibreOffice, Apache OpenOffice

Главная категория => Макросы => Тема начата: Massaraksh7 от 3 июня 2024, 10:44

Название: Событие выбора изображения.
Отправлено: Massaraksh7 от 3 июня 2024, 10:44
Изображениям (событию ЛКМ, в частности) можно назначать макросы (рисунок)
Но, насколько я понял, управление передаётся в макрос без параметров.
Тогда возникает вопрос: а как отличать, на каком изображении нажата мышь, если макрос назначить на несколько изображений?
Название: От: Событие выбора изображения.
Отправлено: mikekaganski от 3 июня 2024, 13:09
Я попробовал открыть документ с макросом и событием, который Вы приложили к вопросу, и он у меня не загрузился. ;)
Название: От: Событие выбора изображения.
Отправлено: Massaraksh7 от 3 июня 2024, 13:24
Предельно упростил.
Название: От: Событие выбора изображения.
Отправлено: mikekaganski от 3 июня 2024, 13:46
Да, похоже, понадобится несколько макросов, каждый вызывает основной код и передаёт туда аргументы...
Название: От: Событие выбора изображения.
Отправлено: Massaraksh7 от 3 июня 2024, 13:47
Цитата: mikekaganski от  3 июня 2024, 13:46Да, похоже, понадобится несколько макросов, каждый вызывает основной код и передаёт туда аргументы...
Ну... грустно. :(
Название: От: Событие выбора изображения.
Отправлено: Massaraksh7 от 3 июня 2024, 13:53
Хотя, если есть возможность получить координаты курсора мыши в момент клика, то, в принципе, можно узнать, какое изображение, но это, конечно, колхоз.
Название: От: Событие выбора изображения.
Отправлено: mikekaganski от 3 июня 2024, 13:53
tdf#93780 (https://bugs.documentfoundation.org/show_bug.cgi?id=93780)
Название: От: Событие выбора изображения.
Отправлено: Massaraksh7 от 3 июня 2024, 14:06
Цитата: mikekaganski от  3 июня 2024, 13:53tdf#93780
9 лет...
Название: От: Событие выбора изображения.
Отправлено: mikekaganski от 3 июня 2024, 14:09
И?
Между прочим, ещё и всего два человека подписаны (и оба - из команды, занимающейся классификацией багов), так что явно не самая насущная для кучи пользователей проблема.
Название: От: Событие выбора изображения.
Отправлено: economist от 3 июня 2024, 16:44
Можно поискать обходные пути. Например использовать Эл. управления, которые передают себя в макрос (Event) и которые допускают графику и отключение рамок.     
Название: От: Событие выбора изображения.
Отправлено: sokol92 от 3 июня 2024, 19:41
Путь, описанный Михаилом в #3, мне кажется эффективным.
Название: От: Событие выбора изображения.
Отправлено: Massaraksh7 от 3 июня 2024, 22:10
Цитата: mikekaganski от  3 июня 2024, 14:09Между прочим, ещё и всего два человека подписаны (и оба - из команды, занимающейся классификацией багов), так что явно не самая насущная для кучи пользователей проблема.
Да это понятно, что подавляющее большинство занимаются более практическими вещами, а не экзотикой. С другой стороны, думаю, что если бы это было реализовано, для многих задач интерфейс упростился бы.
Цитата: sokol92 от  3 июня 2024, 19:41Путь, описанный Михаилом в #3, мне кажется эффективным.
Да, в моём случае (когда число изображений конечно) это выход из ситуации. Другое дело, когда это не так, (ну, типа, какого-нибудь склада товаров с фотографиями).
Название: От: Событие выбора изображения.
Отправлено: sokol92 от 4 июня 2024, 14:03
Цитата: Massaraksh7 от  3 июня 2024, 13:53Хотя, если есть возможность получить координаты курсора мыши в момент клика, то, в принципе, можно узнать, какое изображение, но это, конечно, колхоз.
Конечно, есть такая возможность, которую любезно предоставляет контроллер электронной таблицы (https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1sheet_1_1XEnhancedMouseClickBroadcaster.html#ae662d8ed6d0bc977c58f3cbe6c57bd8c).

Название: От: Событие выбора изображения.
Отправлено: Massaraksh7 от 4 июня 2024, 14:09
Спасибо, на будущее пригодится. А так я уже события назначил.
Название: От: Событие выбора изображения.
Отправлено: sokol92 от 4 июня 2024, 14:48
Из опыта - работа с обработчиками событий более стабильна, чем прямая работа со слушателями.
При назначении обработчика событий нужно вести себя по-джентльменски (только что написал об этом (https://ask.libreoffice.org/t/calc-re-calculation-listener-does-such-a-thing-exist/106436/6?u=sokol92) в англоязычном форуме).