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

Вниз

Как узнать, какой компонент вызвал событие?   Найти похожие ветки 

 
GIL ©   (2004-04-07 10:36) [0]

на форме есть куча лейблов, они используются как элементы управления, на все эти лейблы хотелось бы написать одну по одной процедуре на событие. Есть процедура на событие в лейбле, хочется, чтобы все лейблы ссылались на эту процедуру, и при этом для каждого она работала, как это сделать? Как узнать, какой компонент вызвал процедуру?


 
Agent13 ©   (2004-04-07 10:38) [1]

см. свойство Tag


 
Семен Сорокин ©   (2004-04-07 10:39) [2]

Sender + F1


 
Рамиль ©   (2004-04-07 10:39) [3]

(Sender as TLable).Name


 
pasha_golub ©   (2004-04-07 10:40) [4]

Agent13 ©   (07.04.04 10:38) [1]
В Одессу через Сахалин?


 
GIL ©   (2004-04-07 10:49) [5]

незнаю при чем здесь таг, объясни пжлста


 
NAlexey ©   (2004-04-07 10:56) [6]

Находишся постоянно в состоянии дежавю читая вопросы в этой ветке.


 
Рамиль ©   (2004-04-07 10:59) [7]


> незнаю при чем здесь таг, объясни пжлста

Можно в каждой метке прописать Tag и идентифицировать объект по нему


 
GIL ©   (2004-04-07 11:01) [8]

я сейчас не очень-то могу запускать дельфю и потому пишу в блокноте, это не совсем удобно, а за тагом я не замечал чего-либо такого, что могло бы мне помочь (вроде как он служит для объединения в группы)


 
GIL ©   (2004-04-07 11:02) [9]

2 Рамиль  -поподробнее пжлста, ведь для обращения к тагу надо суметь обратиться к компоненту?


 
pasha_golub ©   (2004-04-07 11:07) [10]

GIL ©   (07.04.04 11:02) [9]
Совершенно  верно, а для этого исползуем Sender


 
Serge ©   (2004-04-07 11:29) [11]

> NAlexey ©   (07.04.04 10:56) [6]

Матрица - однако :о)

> GIL ©   (07.04.04 11:01) [8]
...(вроде как он служит для объединения в группы)
- не-а, он не служит, он может быть использован и для этого

[2],[3],[10] - оно самое что тебе нужно


 
Saturn_   (2004-04-07 11:37) [12]

можеш попробовать сделать так:
procedure TForm1.Add_Label(Name,Capt:String;x,y,n:integer;Paren:TWinControl);
Var New_Label:TLabel;
begin
   New_Label:=TLabel.Create(Form1);
   New_Label.Top:=y;
   New_Label.Left:=x;
   New_Label.Name:=Name;
   New_Label.Height:=16;
   New_Label.Caption:=Capt;
   New_Label.Parent:=Paren;
   New_Label.AutoSize:=False;
   New_Label.OnClick:=OnClickLabel;

end;
Насоздавай нужных TLabel"ов

procedure TForm1.OnClickLabel(Sender: TObject);
Var i: integer;
begin
...
i:=0;
            While TEdit(TForm1.Controls[i]).name <> Name do i:=i+1;
                   result:=TLabel(Panel5.Controls[i]);//Это поиск элемента по известному имени может сгодится.
...
end;

Сделай перебор например через if
Чтото типа :
If TControl(Sender).name = Name{это имя элемента} Then ....


 
GIL ©   (2004-04-07 12:02) [13]

спасибо



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

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

Наверх




Память: 0.49 MB
Время: 0.041 c
9-1067429603
delpher_gray
2003-10-29 15:13
2004.04.25
TDXImageList.Items.Clear ??


4-1077865783
Ozone
2004-02-27 10:09
2004.04.25
WMI


1-1081418994
BOA_KAA
2004-04-08 14:09
2004.04.25
Потомок TStringGrid


6-1074854474
Виталий
2004-01-23 13:41
2004.04.25
SendCmd, TidPOP3


1-1081330815
bhy
2004-04-07 13:40
2004.04.25
Как скрыть приложение с панели задач.