Вниз
Скачать: CL | DM;

Зона для клика мышкой   Найти похожие ветки 

← →
Ell ©   (2006-07-18 11:18) [0]

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


← →
Ega23 ©   (2006-07-18 11:20) [1]

BringToFront,  SendToBack


← →
umbra ©   (2006-07-18 11:35) [2]


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

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

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


← →
Ell ©   (2006-07-18 12:11) [3]

Ega23:
> BringToFront,  SendToBack

Спасибо.

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


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


← →
StriderMan ©   (2006-07-18 12:56) [4]


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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
2-1153462397
Svetok
2006-07-21 10:13
2006.08.06
MySQL


2-1152618743
logslava
2006-07-11 15:52
2006.08.06
Как одной строкой заполнить TStringList


2-1153169040
Vivax
2006-07-18 00:44
2006.08.06
Palladinu


2-1152785917
Layner
2006-07-13 14:18
2006.08.06
Как восстановить программу зная ее THandle, из другой программы?


3-1149233047
novill
2006-06-02 11:24
2006.08.06
Как сделать максимально быстрое добавление/обновление?




   Наверх