![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как динамически создавать TImage в определенном месте на форме
jdskdhjkhfsfd © (2005-05-17 11:53:00)с загруженной в него картинкой. Подскажите, пожалуйста.
Ega23 (2005-05-19 13:58:00) [1]получить какой либо параметр или удалить
Вариантов много. Тебе нужно как-то его идентифицировать, отличить от остальных Image. Для этого при создании можешь использовать свойство Name и писать туда уникальное имя, либо свойство Tag - уникальное число.
Потом проходишь по циклу:
for i:=0 to Form1.ComponentCount-1 do
begin
if not (Components[i] is TImage) then Continue;
if not TImage(Components[i]).Name='MYIMAGE' then Continue;
TImage(Components[i]).Picture:=nil; // как пример
end;
как теперь обработать клик по одному из них
Нужно завести общий метод и каждому для созданных Imageй этот метод прописать.
Пример:
TForm1 = class(TForm)
procedure ImageOnClick(Sender: TObject);
.....
procedure TForm1.ImageOnClick(Sender: TObject);
begin
if not (Sender is TImage) then Exit;
With TImage(Sender) do
begin
Picture:=nil; // как пример
end;
end;
Теперь, при создании Image надо добавить:
With TImage.Create(Form1) do
begin
Top:=100;
Left:=200;
Width:=200;
Height:=300;
Stretch:=True;
Name:='IMAGE_N';// или Tag:=N;
OnClick:=ImageOnClick;
Picture.LoadFromFile(...) ;
end;
Юрий Зотов (2005-05-19 13:55:00) [2]> jdskdhjkhfsfd
Вот здесь
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=342
ответы на все Ваши вопросы, включая и еще не заданные.
Eraser (2005-05-19 13:51:00) [3]jdskdhjkhfsfd (19.05.05 13:47) [5]
как теперь обработать клик по одному из них
Через обработчик OnClick нжного Image'a.
получить какой либо параметр или удалить определенный image?
Храни указатели на созданные имэджи, например в TStringList.
jdskdhjkhfsfd (2005-05-19 13:47:00) [4]Спасибо, еще вопрос.
Вот создал я, к примеру, 10 штук таких imageй, как теперь обработать клик по одному из них, получить какой либо параметр или удалить определенный image?
Ega23 (2005-05-17 12:10:00) [5]И Parent'а забыл.
Точно. Вот это гораздо существеннее.
begin...end (2005-05-17 12:04:00) [6]> Ega23 © (17.05.05 12:00) [1]
> Top:=100;
> Left:=200;
> Width:=200;
> Height:=300;
SetBounds() :-)
И Parent'а забыл.
Ega23 (2005-05-17 12:01:00) [7]With TImage.Create(Form1) do
begin
Top:=100;
Left:=200;
Width:=200;
Height:=300;
Stretch:=True;
Picture.LoadFromFile(...) ;
end;
Ega23 (2005-05-17 12:00:00) [8]With TImage.Create(Form1) do
begin
Top:=100;
Left:=200;
Width:=200;
Height:=300;
Stretch:=True;
Picture.LoadFromFile(...) ;
end;