![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 440
|
![]()
Привет всем!!!
Как узнать имя поледнего компонента над которым мы произвели некоторое действие- например нажали кнопку? Я сделал такой код : label1.Caption:=application.MainForm.ActiveControl. Name; Правилен ли он? Если да то почему этот код не работает для speedbutton? С уважением, bill. |
![]() |
![]() |
![]() |
#2 |
;-)
Пользователь
Регистрация: 18.07.2007
Сообщений: 69
|
![]()
ActiveControl и тот, с которым было последнее действие - не одно и то же.
А для SpeedButton не работает, потому что она не может иметь фокус, т.к. наследуется от TGraphicControl и не имеет собственного окна. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 440
|
![]()
ладно. Ну тогда как узнать имя последнего компонента над которым мы произвели какое то действие?
|
![]() |
![]() |
![]() |
#4 |
;-)
Пользователь
Регистрация: 18.07.2007
Сообщений: 69
|
![]()
знаю только один способ - завести переменную и в коде каждого обработчика изменять ее на Sender. но если же обработчика нету, например, какого то checkbox1click, при щелчке на checkbox1, он не запишется в переменную.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 440
|
![]()
Т.е переменная насколько понял типа tobject?
|
![]() |
![]() |
![]() |
#6 |
;-)
Пользователь
Регистрация: 18.07.2007
Сообщений: 69
|
![]()
TControl. приводить ее к TControl.
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 440
|
![]()
Ок. Я сделал такой код(привожу отрывок)-
Цитата:
Как это сделать все таки через tnotifyevent(если мозможно конечно)? Надо просто проследить какая кнопка была нажата(по ней активируется некое действие). У них единое свойство parent. И повторюсь узнать имя кнопки. |
|
![]() |
![]() |
![]() |
#8 | |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 440
|
![]()
Я собстно пересмотрел свою прогу и пришел к выводу что этот код мне подходит . Но возникла новая, тесно связанная с предыдущей.
Цитата:
|
|
![]() |
![]() |
![]() |
#9 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Не проблема :
Вот в таком духе [I]//********* FOR ****************** for i :=0 to Form1.ComponentCount-1 do begin //caption:=Application.Components[i].Name; if (form1.Components[i].ClassType=TButton) and (form1.Components[i].name=st_name_My) then tbutton(form1.Components).Left:=0; end; //******* END FOR ****************{}
I'm learning to live...
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
![]() Цитата:
for i :=0 to Form1.ComponentCount-1 do begin [I] //caption:=Application.Components.Name; if (form1.Components[i] is TButton) and (form1.Components[i].name = st_name_My) then TButton(form1.Components[I]).Left:=0; end; |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Имя компонента... | prizrak1390 | Общие вопросы Delphi | 11 | 17.04.2008 14:47 |
Прозрачность компонента | JoanM | Общие вопросы Delphi | 14 | 16.02.2008 15:40 |
Нужны два компонента | delphin100 | Компоненты Delphi | 2 | 13.01.2008 01:54 |
Регистрация компонента | Zonder | Компоненты Delphi | 0 | 06.12.2006 18:17 |