Главная страница
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.5 MB
Время: 0.036 c
4-1077890007
gavrila
2004-02-27 16:53
2004.04.25
Окно "Ввод пароля"


6-1077948390
shtacs
2004-02-28 09:06
2004.04.25
TWebBrowser для ОффЛайн! Как реализовать?


14-1080821975
Layner
2004-04-01 16:19
2004.04.25
Помогите перевести ООО на др. человека...если есть кто из юристов


8-1073379402
Антоний
2004-01-06 11:56
2004.04.25
Изменение размера изображения


7-1078045751
Yasha
2004-02-29 12:09
2004.04.25
Защита