Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];

Вниз

Определить источник события   Найти похожие ветки 

 
arinyshka   (2008-04-14 11:15) [0]

мне нужно обработать однотипное событие Click для 15 image на форме. Собственно, нужно узнать, кто из 15 был источником события и взять его tag.  Не хочется перебирать как нибудь так:

for i:=1 to 15 do
begin
   s:="Image" +inttostr(i);
  FImage := SetPayAddFrm.FindComponent(s)as TImage;
  if Assigned(FImage) then ...

Искать источник циклом мне кажется неверным... Есть другой способ?


 
Игорь Шевченко ©   (2008-04-14 11:19) [1]


> Собственно, нужно узнать, кто из 15 был источником события


Sender очевидно


 
Palladin ©   (2008-04-14 11:19) [2]

а Sender для кого сделан?


 
arinyshka   (2008-04-14 11:21) [3]

а как проверить сендер? все равно циклом перебирать все имаги и смотреть, кто из них сендер?


 
Palladin ©   (2008-04-14 11:23) [4]

Sender это объект того компонента, по которому щелкнули мышкой, простым приведением типов ты получишь этот имаг... иди читай матчасть


 
arinyshka   (2008-04-14 11:30) [5]

FImage := (sender as TImage);
 if Assigned(FImage) then
            ImageTag:= (FImage as TImage).Tag;

Работает :) Спасибо :) Не сердитесь на глупую ;)


 
<>   (2008-04-14 11:32) [6]

Если картинки создавать в ручную, то вот так:


type
 TForm1 = class(TForm)
   Image1: TImage;
   Image2: TImage;
   procedure FormCreate(Sender: TObject);
   procedure ImageClick(Sender: TObject);
 private    { Private declarations }
 public     { Public declarations }
 end;

...

procedure TForm1.ImageClick(Sender: TObject);
begin
 Caption:=IntToStr(( Sender as TImage).tag);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1.OnClick:=ImageClick;
  Image2.OnClick:=ImageClick;
  Image1.Tag:=1;
  Image2.Tag:=2;
end;



 
Anatoly Podgoretsky ©   (2008-04-14 11:51) [7]

> arinyshka  (14.04.2008 11:30:05)  [5]

А не видать обработки, может и не надо никаких фокусов?
Может просто  (sender as TImage).действие


 
arinyshka   (2008-04-14 12:27) [8]


> А не видать обработки, может и не надо никаких фокусов?
> Может просто  (sender as TImage).действие

В смысле? Я у обретенного имага проверяю тег и хинт :). Если они меня устраивают (задаются программно в другом куске) - то одно действие, если нет - другое...
В конечном итоге по щелчку на имаге, при условии, что он не занят (хинт), я привязываю его к записи в таблице БД (тег - id картинки). Картинки тоже лежат в БД, в другой таблице...


 
Kolan ©   (2008-04-14 12:29) [9]

Удалено модератором
Примечание: Флудить завязываем


 
Kolan ©   (2008-04-14 12:30) [10]

> Картинки тоже лежат в БД, в другой таблице&#133

DBImage?


 
arinyshka   (2008-04-14 12:48) [11]

Удалено модератором



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

Форум: "Начинающим";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
15-1206933934
TPL
2008-03-31 07:25
2008.05.11
Если нету Com-порта


2-1207943501
Megabyte
2008-04-11 23:51
2008.05.11
Скрытый ввод - готовый компонент


15-1206973787
MASTAFA
2008-03-31 18:29
2008.05.11
Помогите с asm 16 перевести на 32 таких два небольших кусочка


2-1207843487
alex_kasycky
2008-04-10 20:04
2008.05.11
TRichEdit


2-1207753937
Омск
2008-04-09 19:12
2008.05.11
Перевод миль в километры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский