Текущий архив: 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.47 MB
Время: 0.031 c