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

Вниз

Как получить тег любого объекта кликом на него   Найти похожие ветки 

 
Daman ©   (2004-04-26 13:58) [0]

Такой вот ламерский вопрос.
Мастера, научите, пожалуйста, чайника.

Имеется сто кнопок, у каждой свой тег.
Как сделать так, чтоб при нажатии на кнопку она сообщала свой тег, при чем нажатие на любую кнопку должно обрабатываться одной и той же процедурой (можно ли обойтись без Case от 1 до 100)?
Как получить тег любого объекта кликом на него (одной и той же процедурой)


 
Sun bittern ©   (2004-04-26 14:00) [1]

if Sender is TButton
then (Sender as TButton).Tag


 
evvcom ©   (2004-04-26 14:01) [2]

(Sender as TComponent).Tag


 
Daman ©   (2004-04-26 16:18) [3]

Спасибо, братцы!


 
Daman ©   (2004-04-26 19:19) [4]

Продолжение проблемы. С тегами мы справились.
Но возникла еще одна проблема. Как преобразовывать компоненты группами.

Вот в одном FAQ читаю:
"Как через индекс обратиться к нескольким компонентам?
Чтобы найти и сделать видимыми, например, компоненты с именами от "Label1" и до "Label5" можно использовать следующий вариант:
for t := 1 to 5 do
 FindComponent("Label" + IntToStr(t)).Visible := TRUE;"

Так вот эта конструкция не работает...
А мне бы хотелось еще чтоб кнопочки мигали разным цветом (в данном случае вместо кнопок используются квадратики), и пришлось написать такую вот слоноподобную конструкцию:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
//раскраска кнопочек

If Shape1.Enabled =True then Shape1.Brush.Color := colors[Random(3)+1];
If Shape2.Enabled =True then Shape2.Brush.Color := colors[Random(3)+1];
If Shape3.Enabled =True then Shape3.Brush.Color := colors[Random(3)+1];
If Shape4.Enabled =True then Shape4.Brush.Color := colors[Random(3)+1];
и т.д. - представляете, для 100 кнопок?!

И если бы приведенный в FAQ пример работал, так не было б проблемы, но увы!!!
Как обойти-то такое?!

Спасибо заранее!!!


 
Anatoly Podgoretsky ©   (2004-04-26 19:33) [5]

Daman ©   (26.04.04 19:19) [4]
Плохой пример, у TComponent нет свойства Visible, требуется приведение к TLabel или что лучше к TControl

Со вторым примером точно по такой же схеме, только вместо .Enabled = True then писать .Enabled then



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

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

Наверх




Память: 0.48 MB
Время: 0.029 c
1-1083243833
Mikle
2004-04-29 17:03
2004.05.16
FastReport и редактирование готовых отчетов


11-1069525315
DDA2
2003-11-22 21:21
2004.05.16
Установить дату папке(KOL)


14-1082962902
snake1977
2004-04-26 11:01
2004.05.16
Техзадание


1-1082997418
ovling
2004-04-26 20:36
2004.05.16
Создание контрола на форме


14-1083066558
SergP
2004-04-27 15:49
2004.05.16
HTML...Проблема. Может кто знает как ее лечить?