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

OnMouseDown в массиве Timage   Найти похожие ветки 

← →
Radgar ©   (2005-06-28 17:18) [0]

Здраствуйте.
Подскажите, пожалуйста, как узнать на какой из элементов массива Timage кликнули, если они имеют общую процедуру OnMouseDown.


← →
Eraser ©   (2005-06-28 17:20) [1]

Radgar ©   (28.06.05 17:18)
как узнать на какой из элементов массива Timage кликнули


Что вы имеете ввиду под "узнать"? Имя компонента?


← →
Radgar ©   (2005-06-28 17:21) [2]

2 Eraser

Да


← →
Eraser ©   (2005-06-28 17:21) [3]

TImage(Sender).Name


← →
Просто Джо ©   (2005-06-28 17:22) [4]

Sender.Name


← →
Radgar ©   (2005-06-28 17:22) [5]

Пасибо.


← →
Radgar ©   (2005-06-28 18:05) [6]

Извините, я попробовал - не получается.
Sender = ()
Поэтому TImage(sender).Name = ""
Помогите, пожалуйста...


← →
Просто Джо ©   (2005-06-28 18:08) [7]


> Извините, я попробовал - не получается.

Что попробовал, как не получается?


← →
Stakan ©   (2005-06-28 18:09) [8]

А как ты заполняешь массив?


← →
Radgar ©   (2005-06-28 18:13) [9]

2 Просто Джо


> Что попробовал, как не получается?


Пробовал узнать через Timage(sender).Name

2 Stakan


> А как ты заполняешь массив?



Image[i]:=TImage.Create(self);
Image[i].Parent:=self;
...


В работе программы.


← →
Stakan ©   (2005-06-28 18:17) [10]


> Radgar ©

Так ты свойство name не заполняешь, поэтому оно и пустое


← →
Stakan ©   (2005-06-28 18:24) [11]

А вообще я бы порекомендовал
Use TComponentList to store and maintain a list of components.


← →
Radgar ©   (2005-06-28 18:43) [12]


> Stakan ©


Image[1].Name:="Image[1]";


Пробовал, но возникает ошибка:

"Image[1]" is not valid component name.

Что делать? ;-(


← →
Просто Джо ©   (2005-06-28 18:45) [13]


> Что делать? ;-(

Задать другое имя. Например так:
for I := 0 to MaxCount-1 do
 Image[I].Name:=Format ("Image%d",[I]);


← →
Просто Джо ©   (2005-06-28 18:47) [14]

А, вообще, различать компоненты по имени некошерно. Даже по свойству Tag - и то лучше.

for I := 0 to MaxCount-1 do
Image[I].Tag:= I;


В обработчике OnMouseDown:

case TImage(Sender).Tag of
 0: //
 1: //
 // и так далее
end;


← →
Просто Джо ©   (2005-06-28 18:50) [15]

Кроме того, возможно, использование массива в данном случае - не есть хорошо, ибо велосипед. Лучше воспользоваться советом [11] Stakan



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

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



Память: 0.47 MB
Время: 0.025 c
1-1119508806
Grief
2005-06-23 10:40
2005.07.18
иконка у dll


3-1118233992
Kirill_21
2005-06-08 16:33
2005.07.18
Добавление данных в DB


1-1120384016
aapp
2005-07-03 13:46
2005.07.18
Использование *.h


4-1116951848
Lamer8
2005-05-24 20:24
2005.07.18
SHFileOperation


1-1119795483
heady
2005-06-26 18:18
2005.07.18
нажатие Enter в Edit




   Наверх