Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамическое создание компонентов. [D7]


Страницы:   1 2

Владимир_К ©   (2006-04-02 09:36:00) 

Здравствуйте, подскажите ответ на такой вопрос. Создаю динамически панель, а на ней кнопку SpeedButton. Таких панелей с кнопками в зависимости от ситуации может быть разное количество. Обработчиком для нажатия всех кнопок является B.OnClick:=Form1.Informacia.  Подскажите как создать динамически обработчик для каждой созданной кнопки.  
 

procedure TForm1.UserConnect;
var
B:TSpeedButton;
G:TGroupBox;
Informacia:TNotifyEvent;
begin
//Создание панельки под кнопку.
G:=TGroupBox.Create(Form1);
G.Parent:=Form1.ScrollBox1;
G.Caption:=ImiaKomp;
ButtonCoordinat; //Получение координат.
G.Height:=H;
G.Left:=L;
G.Top:=T-ScrollBox1.VertScrollBar.Position;
G.Width:=W;
//Создание кнопки.
B:=TSpeedButton.Create(Form1);
B.Parent:=G;
B.OnClick:=Form1.Informacia;
B.Glyph.LoadFromFile('компьютер.bmp');
B.Height:=73;
B.Left:=5;
B.Top:=15;
B.Width:=90;
end;


Юрий Зотов   (2006-04-02 12:18:00) [21]

Что значит "динамически создать обработчик"?

Динамически назначить- это понятно (в Вашем коде так и делается: B.OnClick:=Form1.Informacia, только Form1 уберите), а вот что значит "динамически создать"?

Обработчик события - это метод класса. То есть, определенный машинный код, кусок программы. Вы хотите, чтобы программа сама создала кусок свего же кода?

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо