![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
OnMouseDown в массиве Timage [D7, WinXP]
Radgar © (2005-06-28 17:18:00)Здраствуйте.
Подскажите, пожалуйста, как узнать на какой из элементов массива Timage кликнули, если они имеют общую процедуру OnMouseDown.
Просто Джо (2005-06-28 18:50:00) [1]Кроме того, возможно, использование массива в данном случае - не есть хорошо, ибо велосипед. Лучше воспользоваться советом [11] Stakan
Просто Джо (2005-06-28 18:47:00) [2]А, вообще, различать компоненты по имени некошерно. Даже по свойству 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:45:00) [3]
> Что делать? ;-(
Задать другое имя. Например так:
for I := 0 to MaxCount-1 do
Image[I].Name:=Format ('Image%d',[I]);
Radgar (2005-06-28 18:43:00) [4]
> Stakan ©
Image[1].Name:='Image[1]';
Пробовал, но возникает ошибка:
'Image[1]' is not valid component name.
Что делать? ;-(
Stakan (2005-06-28 18:24:00) [5]А вообще я бы порекомендовал
Use TComponentList to store and maintain a list of components.
Stakan (2005-06-28 18:17:00) [6]
> Radgar ©
Так ты свойство name не заполняешь, поэтому оно и пустое
Radgar (2005-06-28 18:13:00) [7]2 Просто Джо
> Что попробовал, как не получается?
Пробовал узнать через Timage(sender).Name
2 Stakan
> А как ты заполняешь массив?
Image[i]:=TImage.Create(self);
Image[i].Parent:=self;
...
В работе программы.
Stakan (2005-06-28 18:09:00) [8]А как ты заполняешь массив?
Просто Джо (2005-06-28 18:08:00) [9]
> Извините, я попробовал - не получается.
Чтопопробовал, какне получается?
Radgar (2005-06-28 18:05:00) [10]Извините, я попробовал - не получается.
Sender = ()
Поэтому TImage(sender).Name = ''
Помогите, пожалуйста...
Просто Джо (2005-06-28 17:22:00) [11]Sender.Name
Radgar (2005-06-28 17:22:00) [12]Пасибо.
Radgar (2005-06-28 17:21:00) [13]2 Eraser
Да
Eraser (2005-06-28 17:21:00) [14]TImage(Sender).Name
Eraser (2005-06-28 17:20:00) [15]Radgar © (28.06.05 17:18)
как узнать на какой из элементов массива Timage кликнули
Что вы имеете ввиду под "узнать"? Имя компонента?