Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.022 c
1-1083230597
DBGrid
2004-04-29 13:23
2004.05.16
Ребята помогите мне с гридом проблема уже решалась тута


14-1082954691
sapsi
2004-04-26 08:44
2004.05.16
Передача "Фактор страха"


14-1082697511
Vlad Oshin
2004-04-23 09:18
2004.05.16
Сегодня иду купаться :)


1-1083359366
Vemer
2004-05-01 01:09
2004.05.16
Как заставить нефокусироваться Radiogroup...


3-1082037800
svv
2004-04-15 18:03
2004.05.16
DBGrid и двойной клик на заголовке!




   Наверх