|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.01.2012, 21:55 | #1 |
Пользователь
Регистрация: 20.01.2012
Сообщений: 17
|
У динамически созданной формы есть событие OnClick, но само событие не происходит
Есть класс TForm2, есть массив форм fom:array [1..8,1..6] of TForm2;
На каждой из форм размещено Image1, у каждой картинки есть событие OnClick: procedure TForm2.Image1Click(Sender: TObject); var i,j:Integer; begin for i:=1 to 8 do for j:=1 to 6 do if Sender=Form[i,j].Image1 then rotate(Form[i,j].Image1); end; Но при нажатии на картинку ничего не происходит. Подскажите где могла быть допущена ошибка |
22.01.2012, 22:49 | #2 |
Форумчанин
Регистрация: 30.10.2010
Сообщений: 524
|
Думаю что вы не присвоили процедуру собитию, когда создаете форму.
|
22.01.2012, 22:52 | #3 |
Пользователь
Регистрация: 20.01.2012
Сообщений: 17
|
У меня к вам вопрос, а если событие было создано не для динамически созданных форм, а для стандартной, там насколько я понимаю не нужно присваивать процедуру, а потом созданные формы были просто сделаны того же класса
|
22.01.2012, 22:57 | #4 |
Пользователь
Регистрация: 20.01.2012
Сообщений: 17
|
Или подскажите пожалуйста как нормально присвоить, я с этим плохо еще знаком. Если нужно могу вставить код программы
|
22.01.2012, 23:07 | #5 |
Форумчанин
Регистрация: 30.10.2010
Сообщений: 524
|
так..дайте подумаю...скиньте пожалуйста код(участок кода), где вы создаете эти формы(динамически).
|
22.01.2012, 23:10 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Код:
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
23.01.2012, 20:38 | #7 |
Пользователь
Регистрация: 20.01.2012
Сообщений: 17
|
У меня есть два модуля
в первом основная часть программы, во втором только само событие и поворот вот тут я их объявляю: type TForm2 = class(TForm) Image1: TImage; procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1:TForm2; Form:array [1..8,1..6] of TForm2; а вот так я их создаю: for i:=1 to 8 do for j:=1 to 6 do begin matr[i,j]:=false; form[i,j]:=TForm2.Create(nil); form[i,j].ClientHeight:=140; form[i,j].ClientWidth:=140; form[i,j].BorderStyle:=bsnone; form[i,j].TransparentColor:=true; form[i,j].Color:=form[i,j].TransparentColorValue; form[i,j].Image1:=TImage.Create(self); form[i,j].Image1.Parent:=form[i,j]; form[i,j].Image1.ClientHeight:=140; form[i,j].Image1.ClientWidth:=140; form[i,j].Hide; end; |
23.01.2012, 21:41 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
я и говорю, у вас в коде события написан бред, исправьте на то что я вам сказал, это тоже самое по результату.
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
23.01.2012, 21:46 | #9 |
Пользователь
Регистрация: 20.01.2012
Сообщений: 17
|
У меня не были созданы они в дизайнере форм
|
23.01.2012, 21:48 | #10 |
Пользователь
Регистрация: 20.01.2012
Сообщений: 17
|
В дизайнере форм я с помощью одной формы(стандартной) изменил класс ТФорм2, а только потом динамически в форе создал массив форм(вот поэтому я и делаю вышеописанное)
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
TreeView событие OnClick | Alana | Компоненты Delphi | 2 | 18.11.2010 14:50 |
При 3-ем нажатии происходит событие | Vinnipux | JavaScript, Ajax | 3 | 29.09.2010 07:56 |
Событие onclick в списке <select> | Killer_djon | JavaScript, Ajax | 5 | 28.04.2009 17:20 |
Событие для динамически созданной Button | Dogmat | Помощь студентам | 8 | 24.07.2008 12:44 |
Какое событие происходит при переходе из оконного режима формы в полноэкраный (развернутый)? | Luciferium | Общие вопросы Delphi | 9 | 09.03.2008 17:36 |