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

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

Зона для клика мышкой [D7, XP]


Ell ©   (2006-07-18 11:18:00) 

На панели (TPanel) я расположил массив из TImage, создаваемый по событию FormCreate. Теперь мне надо отловить щелчки мыши по рабочей зоне Panel1. Обработка события по щелчку на элементе массива TImage не годиться, так как рисунки покрывают не всю Panel1.
Я хотел поместить на форму пустой дополнительный TImage, подогнав его размеры под размеры панели, и отслеживать клики по нему, но когда при FormCreate происходит создание массива, то этот TImage оказывается расположенным _под_ними_ и клики уже не обрабатывает. Как рациональнее сделать? Может, подскажете команду помещения элемента на передний план?


StriderMan   (2006-07-18 12:56:00) [1]


> Я хотел поместить на форму пустой дополнительный TImage, подогнав его размеры под размеры панели, и отслеживать клики по нему

лучше класть не TImage а простой TControl. В ран-тайме.


Ell   (2006-07-18 12:11:00) [2]

Ega23:
> BringToFront,  SendToBack

Спасибо.

umbra:
> сделайте один обработчик OnClick для панели и изображений
> и в нем проверяйте, по какому компоненту был щелчок


Спасибо, но в данном случае, наверное легче один раз написать обработчик, расположив зону, по которой будет щелчок, сверху - BringToFront, а попадает ли по изображению и по какому, можно вычислить из координат.


umbra   (2006-07-18 11:35:00) [3]


> отловить щелчки мыши по рабочей зоне Panel1

сделайте один обработчик OnClickдля панели и изображений и в нем проверяйте, по какому компоненту был щелчок, кодом наподобие

if sender is TPanel then
 begin
   {......................}
   exit;
 end;
if sender is TImage then
 begin
   {......................}
 end;


Ega23   (2006-07-18 11:20:00) [4]

BringToFront,  SendToBack


Наверх

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