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

Вниз

Как узнать какой обьет выделен.   Найти похожие ветки 

 
JIurasdfsdf   (2006-02-07 21:33) [0]

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


 
Джо ©   (2006-02-07 21:35) [1]

> Как мне узнать какой из обьектов выбран (например кнопка
> или текстовое поле),

ActiveControl.

> и как есть к примеру выбарана именно кнопка, воспользоватьс
> свойствами, присущими именно кнопе (т.е. которые на обьект
> текстового поля не распространяются)?

Используй оператор is для проверки класса. Или конкретизируй вопросю


 
kblc ©   (2006-02-07 21:35) [2]

Используй Sender - это и есть указатель на то, что именно должно обрабатываться.
 if Sender is TComboBox then
 with Sender as TComboBox then
 begin
 end;


 
evvcom ©   (2006-02-08 08:51) [3]


> if Sender is TComboBox then
>  with Sender as TComboBox then

если тип объекта уже проверил (is), то приведение через as лишнее. Оптимальнее так TComboBox(Sender). Через as, имхо, есть смысл приводить, если по логике работы программы Sender может быть только к примеру TComboBox, но ты допускаешь, что кто-то (может даже ты сам) возможно это когда-нибудь забудешь и не учтешь. В этом случае разработчик должен словить exception, и поправить этот момент.



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

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

Наверх




Память: 0.47 MB
Время: 0.051 c
4-1134746024
Cunning
2005-12-16 18:13
2006.03.12
реализация функции GradientFill


2-1140578291
Непонял
2006-02-22 06:18
2006.03.12
MDI


6-1132861630
Николай2005
2005-11-24 22:47
2006.03.12
Ошибка 411 при отправке запроса через TIdHTTP методом POST


15-1140418427
Бугага
2006-02-20 09:53
2006.03.12
Нет ли у кого этих двух книг в электронном варианте?


2-1140412396
Bratskiy
2006-02-20 08:13
2006.03.12
Выравнивание по ширине строки