Сегодня: 05.02.2025г. 23:40
http://professional-pc.ucoz.ru/
Навигация
Рубрики
Категории
Уроки Delphi [15]
Программирование в Delphi [16]
Мини-чат
 
300

Открыть большой чат в окне
в окне сайта
Реклама
Разместить кнопку
Разместить кнопку
Разместить кнопку
Программное (динамическое) создание объектов

Динамическое создание различных объектов порой упрощает программистам жизнь. Например рассмотрим случай, когда вы создаете например среду программирования и хотите ввести частички ООП. А точней дать возможность вставлять кнопки на форму. 

Украшаем по своему нраву форму и добавьте в uses StdCtrls:

...
 uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
...

Теперь создаем процедуру для формы: FormMouseDown и прописываем:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
btn:TButton; //Переменная кнопки
begin
  btn:=TButton.Create(Form1); //Создание кнопки
  btn.Parent:=Form1;  //Назначение "родителя"
  btn.Top:=y; //Размещение
  btn.Left:=x;
  btn.Width:=60; //Размеры
  btn.Height:=20;
  btn.OnClick := Button2Click; //При клике переход к процедуре Button2Click
end;

Ну хорошо. Кнопка будет создаваться, но процедуры для этой кнопки так и нету. Поэтому после type пишем:

...
type
  TForm1 = class(TForm)
    procedure ...
    procedure Button2Click(Sender: TObject);
...

Нажмите Ctrl+Shift+C для быстрого создания шаблона и в нем пишем например код закрытия формы:

procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;

Вот так то. Теперь мы можем создавать программно кнопки, просто щелкнув по форме.


Помогли ли вам наши статьи?
Всего ответов: 465


Источник:
Категория: Программирование в Delphi | Добавил: BRESS (15.10.2011) | Автор: EW
Просмотров: 737 | Комментарии: 0 | Теги: | Рейтинг: 0.0/0
>Всего комментариев>: 0
Авторизация
Опрос
Помогли ли вам наши статьи?
Всего ответов: 465
Online
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Статистика


CY-PR.com
© 2025 Professional-PC.Ucoz..Ru