|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.10.2010, 01:39 | #1 |
Регистрация: 24.10.2010
Сообщений: 7
|
событие для массива созданных элементов
Добрый вечер. нужна ваша помошь)
подскажите пожалуйста: есть массив программно созданных элементов(кнопок), нужно ему присвоить событие onClick например. когда создаешь одну кнопку, а не массив, все понятно, а как будет выглядить эта процедура для массива вот такого типа: Код:
procedure tform1.Button[i]OnClick =) и сломал уже всю голову( и П.С. подскажите пожалуйста как сделать бесконечный массив? ну чтобы не [1..10000000000 ] а как-нибудь по приемлемей Последний раз редактировалось areyoudead; 24.10.2010 в 14:27. |
24.10.2010, 02:05 | #2 |
Форумчанин
Регистрация: 17.09.2010
Сообщений: 229
|
Так?
Код:
Правильно заданный вопрос - половина ответа!
|
24.10.2010, 02:08 | #3 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 44
|
unit MyButtonEvent;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private procedure Reaction (Sender : TObject); public end; type MyButton = array [1..5] of TButton; var Form1: TForm1; Button : MyButton; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var i : Byte; begin for i := 1 to 5 do begin Button[i] := TButton.Create(Self); with Button[i] do begin Caption := 'Button' + IntToStr(i); Width := 50; Height := 20; Top := 30; Left := 30 + (70 * i); OnClick := Reaction; Parent := Self; end; end; end; procedure TForm1.Reaction(Sender: TObject); begin ShowMessage('Click'); end; end. Последний раз редактировалось yasic; 24.10.2010 в 02:25. |
24.10.2010, 02:09 | #4 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 44
|
бесконечного массива не бывает (если не прав поправьте)
|
24.10.2010, 02:40 | #5 |
Регистрация: 24.10.2010
Сообщений: 7
|
Спасибо XeruH, спасибо yasic!! то, что нужно!
логичное продолжение вопроса) как узнать какая из этих кнопок была нажата? |
24.10.2010, 02:48 | #6 |
Регистрация: 24.10.2010
Сообщений: 7
|
спасибо, уже разобрался)
Код:
Последний раз редактировалось areyoudead; 24.10.2010 в 14:27. |
24.10.2010, 03:04 | #7 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 44
|
в обработчике Reaction переменная Sender. с ней и нужно работать
ну к примеру так: if TButton(Sender).Caption = 'Button1' then ShowMessage('Press Button1'); |
24.10.2010, 09:20 | #8 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
Код:
|
24.10.2010, 10:25 | #9 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 44
|
а вот это уже другой разговор. динамические да, "бесконечные" - не слышал ни разу. с другой стороны функция SetLength(M, N). N - это же размерность, а значит массив будет иметь диапазон значений.
У нас принято оформлять код специальным тэгом - при помощи кнопочки "#". Только... И не значком #. И не РНР-кодом. И не значком цитаты. И не собственными "ручками". Рекомендую. Помимо общих правил форума есть и дополнения к ним в каждом разделе... Модератор P.S. В следующий раз накажу. Последний раз редактировалось mihali4; 24.10.2010 в 13:19. |
14.09.2014, 16:12 | #10 |
Старожил
Регистрация: 19.06.2013
Сообщений: 2,469
|
Спасибо!Все описанное выше, ссыпал в кучу, взболтал и получил:
Код:
Репутация: полный "0"
Последний раз редактировалось zvygin1964; 14.09.2014 в 17:29. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод элементов массива.Изменение элементов массива. | Vesnushka18 | Помощь студентам | 6 | 09.06.2011 13:05 |
Перегрузка операций для созданных шаблонов(C#) | Mixim | Общие вопросы .NET | 4 | 28.09.2010 11:03 |
найти среднее арифметическое элементов массива состоящее из 5 элементов | viatlon | Общие вопросы C/C++ | 9 | 12.12.2009 00:45 |
Для массива определить сумму всех элементов, стоящих после максимального | HECTOR.A. | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 17.06.2009 22:04 |
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму элементов массива | HazelHen | Общие вопросы C/C++ | 2 | 29.03.2009 15:16 |