![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
"Сквозной" Image [D7, WinXP]
Radgar © (2005-06-29 20:43:00)Можно ли как-нибудь сделать, чтобы при клике на Image клик "проходил сквозь" него и кликался на объект лежащий под ним.
Tirex (2005-06-30 06:53:00) [1]И все таки правильно заданный вопрос много значит.
Anatoly Podgoretsky (2005-06-29 23:26:00) [2]Так тебе нужны были клики через прозрачные области оказывается.
Radgar (2005-06-29 23:17:00) [3]
> Virgo_Style ©
СПАСИБО!!!
Так долго мучался, а решенее такое простое!!!
Virgo_Style (2005-06-29 23:13:00) [4]В общем, я так понимаю, что "кликнутым" должен считаться тот Image, у которого в координате клика цвет не равен прозрачному.
Это так? Если да, то, видимо, надо пробегать "сверху вниз" по наложенным Image'ам и проверять цвет в "точке клика", если это не "прозрачный" цвет - то считать этот Image "кликнутым". Для этого, видимо, нужен массив Image, в котором они будут размещены по порядку.
Anatoly Podgoretsky (2005-06-29 22:54:00) [5]Radgar © (29.06.05 22:44) [12]
Правильно, поскольку на него нажали.
Radgar (2005-06-29 22:44:00) [6]
> Virgo_Style ©
Но ведь Sender будет верхний TImage?
Virgo_Style (2005-06-29 22:42:00) [7]Radgar © (29.06.05 22:26) [9]
мне важно на какой Timage нажали
if Sender = Image1 then...
Anatoly Podgoretsky (2005-06-29 22:31:00) [8]Ни каких прозрачных для кликов Timage не существует.
Radgar © (29.06.05 22:26) [9]
Нажали на тот который сверху.
А это еще к чему "Мне в данном случае надо знать как програмно кликнуть мышкой." никакой связи с вопросом не вижу. Ты что хочешь все свои вопросы задать в одной ветке? Только отвечай честно, это очень важно для оргвыводов.
Radgar (2005-06-29 22:26:00) [9]
> Так поставь один обработчик для всех, что, собственно, в
> [4] и сказано. Вероятно, потребуется пересчет координат
> клика.
У меня нет такой возможности, потому что мне важно на какой Timage нажали.
> Проще явно вызвать нужный обработчик.
Мне в данном случае надо знать как програмно кликнуть мышкой.
Virgo_Style (2005-06-29 22:22:00) [10]Radgar © (29.06.05 22:05) [5]
как програмно кликнуть мышью
Проще явно вызвать нужный обработчик.
Radgar © (29.06.05 22:09) [7]
Под этим Timage может лежать несколько конролов и они тоже могут быть "сквозными"
Так поставь один обработчик для всех, что, собственно, в [4] и сказано. Вероятно, потребуется пересчет координат клика.
Radgar (2005-06-29 22:09:00) [11]Под этим Timage может лежать несколько конролов и они тоже могут быть "сквозными"
Anatoly Podgoretsky (2005-06-29 22:07:00) [12]Radgar © (29.06.05 22:05) [5]
Почему не подойдет, ты же хочешь, чтобы щелкнув мышкой отработал обработчик, как бы ниже лежащего контрола. Так оно и будет.
Radgar (2005-06-29 22:05:00) [13]Нет, такой вариант мне не пойдёт. А не знаете ли вы как програмно кликнуть мышью, ну что-то вроде mouse.click и т.п.
Я бы в таком случае сделал
Image1.Enabled:=False
А потом ещё раз кликнул мышью.
Anatoly Podgoretsky (2005-06-29 21:44:00) [14]Поставь тотже обработчик, что и у элемента ниже.
Tirex (2005-06-29 21:25:00) [15]А если при нажатии на Image просто вызвать процедуру этого объекта.
не совсем понятно что вы хотите реализовать.
Radgar (2005-06-29 20:45:00) [16]А если другой Image?
Anatoly Podgoretsky (2005-06-29 20:44:00) [17]А что подним лежит, если форма, то нет проблем.