Вниз
Скачать: CL | DM;

Как узнать какая компонента(имя) вызвала процедуру   Найти похожие ветки 

← →
JibSkeart ©   (2003-03-20 13:56) [0]

Допустим
жмем на кнопку

procedure Tform1.Button2Click(Tobject Sender)
begin
ButtonClick1(Sender);
end

procedure Tform1.Button1Click(Tobject Sender)
begin
...
// Вот что надо сделать сдесь ?
// if Sender as TButton естесно неподходит мне нужно имя
// тоесть Button2 как в нашем примере
end

Ну допустим в нашем примере чтобы было
"Эту процедуру вызвала Button2"

мне интнрестно как это можно сделать более рационально чтоли :)
так то я уже сделал рабочий вариант


← →
Жук ©   (2003-03-20 14:08) [1]

ShowMessage("Эту процедуру вызвал "+ActiveControl.Name);


← →
JibSkeart ©   (2003-03-20 14:09) [2]

Спасибо Попробуем ...


← →
passlight ©   (2003-03-20 14:11) [3]

Может быть так?
if (Sender as TButton).Name then ....


← →
Passlight ©   (2003-03-20 14:14) [4]

Пардон, опечатка...
if (Sender as TButton).Name = "Button2" then ....


← →
REA ©   (2003-03-20 14:34) [5]

А зачем сначала себя запутать, а потом решать кто вызвал?
Если группа кнопок есть, то им можно проставить свойство Tag и по нему выбирать действие.


← →
JibSkeart ©   (2003-03-20 14:38) [6]

ActiveControl.Name
нподходит :(
так как если у меня в это время стоит фокус на TEdit
то есть он и показывает TEdit ...



← →
Жук ©   (2003-03-20 14:42) [7]

Можно переменную объявить и пихать туда имя перед переходом в другую процедуру. А вообще : странно всё это. :-)


← →
JibSkeart ©   (2003-03-20 14:43) [8]

Passlight © (20.03.03 14:14)
Спасибо это работает :)
Незнаю что сам недогодался :)


Всем Спасибо за советы



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
14-100386
seledka
2003-03-13 17:01
2003.03.31
описание компонент Delphi


1-100317
sagchat
2003-03-19 15:24
2003.03.31
Обновления


6-100354
Victor72
2003-02-07 20:38
2003.03.31
Посоветуйте новичку.


14-100452
aga
2003-03-14 20:12
2003.03.31
dll


3-100175
kalliopiy
2003-03-11 14:34
2003.03.31
TRxDBGrid




   Наверх