![]() |
|
![]() ![]() ![]() |
|
Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
На форме есть несколько TImage. Мне необходимо, чтобы над каждым из них можно было совершать определенные действия (открыть, сохранить...). Я создал PopupMenu и назначил его для каждой картинки. Я думал, что при выборе пункта меню, TObject *Sender - будет элемент TImage, по которому щелкнули правой кнопкой мыши. Но оказалось, что это панель, на которой находятся все мои картинки. :( Поэтому у меня вопрос: как определить для какого элемента вызвано PopupMenu?
|
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Анализируем событие OnPopup контрола PopupMenu. В нем и ловим что нужно.
|
|||
|
||||
Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Не совсем понял как... Т.е. создать глобальную переменную TImage. В фунции OnPopup присваеваем этой переменной Sender. А в функции, которая реагирует на выбор определенного пункта меню, обращаться к той глобальной переменной. Так? Не тут то было... :( Щас только попробовал так сделать. В функции OpPopup Sender - это указатель на само PopupMenu... Видимо ты имел в виду что-то другое... Это сообщение отредактировал(а) Superklug - 2.8.2007, 17:46 |
|||
|
||||
Klin |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
Что-то с Sender вы мутите
![]() Имя вашего Image:
Назначаем PopupMenu всем Image например так:
Если я правильно понял задачу... -------------------- Я человек - попробуйте обвинить меня за это. |
||||
|
|||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Klin, неправильно.
![]()
Вот вопрос-то. И проблема в том, что при анализе Sender отображается имя самого PopupMenu. Попробуйте. ![]() Мое предложение - в OnPopup искать по всем компонентам на форме, для них проверять свойство PopupMenu.Name . Если оно равно текущему - это наш компонент. Принцип понятен? |
|||
|
||||
Superklug |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Я именно так и делаю. Пишет PopupMenu1 вместо Image1... |
||||
|
|||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Superklug, перечитайте мой пост. Если непонятно, я дам пример кода.
|
|||
|
||||
Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
У меня на форме несколько картинок. И у всех один PopupMenu. В вашем случае он будет всегда на первую картинку указывать =( |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
А точнее, на все. Верно... у самого не получилось.
Хорошо, тогда другой вариант. Держим глобальную переменную типа TImage. В нее при щелчке правой кнопкой мышки на изображениях, в которых стоит PopupMenu, загоняем TImage, на котором щелкнули. А потом просто читаем значение этой переменной на OnPopup. Добавлено @ 19:00 Да, так определенно работает. Код:
Может, это не очень рационально, зато работает. Да еще и безотказно. ![]() Это сообщение отредактировал(а) mr.Anderson - 2.8.2007, 19:07 |
|||
|
||||
Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
mr.Anderson, спасибо большое! И как я сам не догадался... =)
Вопрос решен. |
|||
|
||||
codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 16 Всего: 39 |
Добавлено через 1 минуту и 1 секунду Глобальные переменные зло это надо всегда помнить прежде чем юзать |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Ух ты...
![]() +1 за короткое решение... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |