![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Зона для клика мышкой [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