Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.07.2008, 10:19
sid401 sid401 вне форума
Прохожий
 
Регистрация: 14.06.2008
Сообщения: 6
Репутация: 10
По умолчанию много шейпов

Привет всем.

Направьте меня пожалуйста в нужное русло.
Такую штуку нужно сделать.

Создать на форме поризвольное количество элементов типа TShape или других, в общем которые из себя будут являть прямоуглоьники и отслеживать нажатия на них мышью.

Саму технологию маленько не понимаю. Когда создаешь сам в процессе разработки процедуру OnClick там все понятно. А как если объекты еще не созданы? как отслеживать нажатие кнопки мыши на тот или иной элемент, который был создан в поцессе выполнения программы? если их к тому же много, скажем массив. Обработчик событий какой-то нужно мутить.


p.s. Delphi 2005

Заранее спасибо за советы
Ответить с цитированием
  #2  
Старый 09.07.2008, 11:05
Phedor Phedor вне форума
Начинающий
 
Регистрация: 28.02.2008
Сообщения: 118
Репутация: 21
По умолчанию

Код:
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;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:20.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025