Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

"Сквозной" 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]

А что подним лежит, если форма, то нет проблем.


Наверх

Титульная страница Поиск, карта сайта Написать письмо