Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработчик события для динамического объекта 
:(
    Опции темы
ЛЕФ
  Дата 15.6.2008, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.6.2008

Репутация: нет
Всего: нет



Товарищи! Я  пишу программку в которой при нажатии на ScrollBox'e создаются  объекты типа Shape, создаю их вот так:
           t[count] := tshape.Create(self);
           t[count].Parent := Label1.Parent;
           t[count].Shape := stcircle;
           t[count].Width := 30;
           t[count].Left := x - 15;
           t[count].Top  := y - 30;
           t[count].OnMouseUp := label1.OnMouseUp;
Внимание вопрос! Как для динамически созданова объекта написать обработчик события? Я выделил фрагмент как я пытался обойти это, но мне даный метод не патходит, мне для каждага объекта нужно создать свой обработчик события. Буду признателен за помощ. спасибо.  
З.Ы.  t[count] - массив типа tshape, count - счетчик объектов. 

Это сообщение отредактировал(а) ЛЕФ - 15.6.2008, 17:21
PM MAIL WWW   Вверх
TForumUser
Дата 15.6.2008, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 7.7.2007

Репутация: 0
Всего: 0



создаешь метод у формы с любыи именем
например,
Код
type
  Form1 = class(TForm)
   ...
   procedure EFO;
   ...
 end;

потом реализацию этой процедуры, как обычно
Код
procedure Form1.EFO;
begin
...
end;


а привязать к событию - так:
Код

t[count].OnMouseUp := EFO;


Это сообщение отредактировал(а) TForumUser - 15.6.2008, 17:53
--------------------
Экономте электроэнергию! Выключайте Num Lock!
PM MAIL ICQ   Вверх
ЛЕФ
Дата 15.6.2008, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.6.2008

Репутация: нет
Всего: нет



Cпасибо большое! Сейчас попробую!*злорадно ухмыляюсь и патираю руки* =)
PM MAIL WWW   Вверх
aktuba
Дата 15.6.2008, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 7
Всего: 38



Цитата(ЛЕФ @  15.6.2008,  18:20 Найти цитируемый пост)
мне для каждага объекта нужно создать свой обработчик события.

Устанавливай в Tag уникальное значение и в обработчике обрабатывай, в соответствии с Tag. Например:
Код

t[count] := tshape.Create(self);
t[count].Parent := Label1.Parent;
t[count].Shape := stcircle;
t[count].Width := 30;
t[count].Left := x - 15;
t[count].Top  := y - 30;
t[count].Tag := count;
t[count].OnMouseUp := DoOnMouseUp;

...

procedure TForm1.DoOnMouseUp(Sender: TObject);
var
  lShape: TShape;
begin
  if not (Sender is TShape) then
    Exit;
  lShape := Sender as TShape;
  Label1.Caption := IntToStr(lShape.Tag);
end;



--------------------
user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0427 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.