![]() |
|
#1
|
|||
|
|||
![]() Привет всем.
Направьте меня пожалуйста в нужное русло. Такую штуку нужно сделать. Создать на форме поризвольное количество элементов типа TShape или других, в общем которые из себя будут являть прямоуглоьники и отслеживать нажатия на них мышью. Саму технологию маленько не понимаю. Когда создаешь сам в процессе разработки процедуру OnClick там все понятно. А как если объекты еще не созданы? как отслеживать нажатие кнопки мыши на тот или иной элемент, который был создан в поцессе выполнения программы? если их к тому же много, скажем массив. Обработчик событий какой-то нужно мутить. p.s. Delphi 2005 Заранее спасибо за советы |
#2
|
|||
|
|||
![]() Код:
procedure ShapeOnClick(Sender: TObject); begin // Узнать на каком именно Shape щелкнули можно через TShape(Sender).Tag там будет хранится номер Shape в массиве, и соответственно к нему обращаться Shapes[TShape(Sender).Tag].Свойство := значение; end; ... procedure ShapeCreate; ... for i:=0 to 9 do begin Shapes[i] := TShape.Create(Self); ... Shapes[i].OnClick := ShapeOnClick; // <- Собственно то что Вам нужно Shapes[i].Tag := i; ... end; end; |