IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> как использовать Sender
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 58
Пол: Мужской
Реальное имя: Константин

Репутация: -  1  +


полазил по FAQу - не нашел..
как я могу использовать Sender и где я могу его использовать???
если я правильно понимаю, то его можно использовать для одинаковых действий над объектами одного и того же класса.. это так??

вот напимер, как с помощью Sender мне в 3 checkbox - ах поменять свойство Visible???
пишу: (Sender as TCheckBox).Enabled:=true; - компиллирует но выдает ошибку...
подскажите пожалуйста..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Смотри: Sender - это то, что, собственно, вызвало событие.
В данном случае, насколько я вижу, это кнопка Button1.
НО! Если ты привешиваешь обработчик Button1Click на, например, событие CheckBox1 OnClick и щелкаешь по CheckBox1 - Sender'ом будет CheckBox1. Не все CheckBox'ы, а он один.
Тогда можно работать так, например:
procedure TForm1.Button1Click(Sender: TObject);
begin
if Sender is TCheckBox then
begin
(Sender as TCheckBox).Visible:=false;
ShowMessage('Спрятали CheckBox');
end;
if Sender is TButton then
begin
(Sender as TButton).Visible:=false;
ShowMessage('Спрятали Button');
end;
end;

Но тут надо быть осторожным: если фактически Sender - BitBtn (TBitBtn - наследник TButton), то Sender is TButton вернет истину.

Если же тебе надо поменять видимость у всех CheckBox'ов, а не у одного, вызвавшего событие (или CheckBox'ы вообще не имеют отношения к событию) - работай с массивом Components, а не с Sender'ом


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 21.05.2022 20:01
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name