![]() |
|
|
![]()
|
|
| ksili |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
У меня поверх компонента TImage расположено несколько компонентов TShape, которые создаются динамически. Необходимо, чтобы при щелчке мыши на любом из TShape вызывался обработчик OnMouseUp компонента TImage и соответственно, чтоб переданные в него X и Y были координатами в TImage, а не в TShape.
Я пробовал определить всем TShape обработчик OnMouseUp тот же, что и у TImage
Но при этом X и Y - координаты внутри TShape, и по ним определить какой TShape щёлкнули невозможно. Затем пробовал определить всем TShape одинаковый обработчик OnMouseUp
У функции MyClick аргументы как у стандартного обработчика
но при этом компилятор выдавал ошибку Cannot convert 'void (__fastcall*)(TObject*, TMouseButton, TShiftState, int, int)' to 'void (__fastcall * (__closure)(TObject*, TMouseButton, TShiftState, int, int))(TObject*, TMouseButton, TShiftState, int, int)' Как всё-таки назначить свою функцию в качестве обработчика, или обрабатывать нажатие обработчиком компонента TImage? Вообще всё это надо чтобы узнать по какому TShape кликнули Это сообщение отредактировал(а) ksili - 1.2.2006, 11:04 -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
||||||
|
|||||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
почему невозможно? у тебя есть координаты верхнего левого угла фигуры. прибавь к ним эти x, y и получиш координаты в картинке... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 7 Всего: 20 |
Вставь этот кусок в обработчик отпускания мыши Image:
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Artemon, cпасибо.
Я чё-то не догадывался привести Sender к типу TShape, поэтому координаты верхнего левого угла получить не мог. Теперь мне X и Y вообще не нужны стали -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
![]()
|
| Правила форума "С++ 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. |