Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.07;
Скачать: CL | DM;

Вниз

Cобытия компонент по индексу?   Найти похожие ветки 

 
copyr25 ©   (2002-09-26 11:00) [0]

Уважаемые мастера! Обращаюсь к нескольким Image:
var
Ima: TComponent;

ну и дальше, например, так:

for img:=3 to 26 do
begin
(Ima as TImage).Picture.LoadFromFile(S[img-3]);
TJPEGImage((Ima as TImage).Picture.Graphic).Scale:=TJPEGScale(3);
(Ima as TImage).Width:=TJPEGImage((Ima as TImage).Picture.Graphic).Width;
(Ima as TImage).Height:=TJPEGImage((Ima as TImage).Picture.Graphic).Height;
end;

Это все понятно, это все работает.
А вот как через индекс сделать "события"
к этим компонентам? Никому не приходилось?
И вообще, можно? Т.е. можно ли "вставить"
индекс обращения в заголовок процедуры?
Уж очень скучно писать для каждой? Ну, например,

procedure TForm1.Image9Click(Sender: TObject);
begin
...
end;

procedure TForm1.Image10Click(Sender: TObject);
begin
...
end;

Спасибо!


 
Mike Kouzmine   (2002-09-26 12:00) [1]

Напиши один для всех, а по имени определяй что делать


 
Старый паскалист   (2002-09-26 12:04) [2]

Храни индекс в тэге, и в обработчике события
Idx := (Sender as TComponent).Tag


 
Mike Kouzmine   (2002-09-26 12:12) [3]

Зачем огород городить?
case StrToInt(Copy((Sender as TImage).Name,6,Length((Sender as TImage).Name) - 5)) of
0 :
1 :


 
TTCustomDelphiMaster ©   (2002-09-26 12:39) [4]

Назначить этот обработчик дл всех Image

procedure TForm1.Image1Click(Sender: TObject);
var
ClickImage: TImage;
begin
ClickImage := TImage(Sender);
ClickImage.Height := ClickImage.Height div 2;
...
end;




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

Текущий архив: 2002.10.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
14-21269
Romka
2002-09-13 12:52
2002.10.07
Нужна помощь . Очень , Очень.


6-21183
xyz
2002-08-04 12:59
2002.10.07
ICQ - подскажите...


1-21094
Лана Розанова
2002-09-25 12:07
2002.10.07
Перевод типов


3-20932
Gaber
2002-09-11 10:15
2002.10.07
DBComboBox


14-21277
AL2002
2002-09-13 17:02
2002.10.07
Чё за хрень, не скажете?