Показать сообщение отдельно
  #8  
Старый 10.04.2015, 09:59
avis_rara avis_rara вне форума
Прохожий
 
Регистрация: 01.07.2014
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Что-то не получается... не могу понять где я не въехал...
Для всех shape в Object Inspector - е установил tag от 1 до 20ти.
Код:
procedure TMainForm.GroupBox1Click(Sender: TObject);
begin
 if  (Sender as TShape).Tag = 1 then
//если попали на первый то меняем его цвет...
 TShape(FindComponent('Shape'+IntToStr(1))).Brush.Color := clLime;
end;
END.

И самое интересное, что когда нажимаю на любой из шейпов то реакции нет, а когда мимо них то программа выбивает ошибку....



А если изменить на то что просто нужно нажать на GroupBox (у него tag=0)
Код:
procedure TMainForm.GroupBox1Click(Sender: TObject);
begin
 if  (Sender as TGroupBox).Tag = 0 then
 TShape(FindComponent('Shape'+IntToStr(1))).Brush.Color := clLime;
end;
END.
то работает, как-то так....
По сути при нажатии на шейп я не попадаю в процедуру GroupBox1Click.

Разобрался=) в Events каждого шейпа поставил обработчик GroupBox11MouseDown
Ответить с цитированием