Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизКак получить тег любого объекта кликом на него Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.05 c