Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.25;
Скачать: CL | DM;

Вниз

Button   Найти похожие ветки 

 
Нуб   (2007-02-28 10:23) [0]

Напишите пожалуйста код как динамически создается и выводится на экран , к примеру кнопка , заранее спасибо


 
Нуб   (2007-02-28 10:27) [1]

уже не надо , я сам нашел

var Button1: TButton;
begin
Button1  := TButton.Create(Form1);
Button1.Parent = Form1;
Button1.Caption = "My dynamic Button";


 
Elen ©   (2007-02-28 10:29) [2]


> Нуб

Пожалуйста :

var    tb:TButton;
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
tb:=TButton.Create(form1);
 with tb do begin
  Parent:=form1;
  Caption:="dffsd";
  Top:=10;
  Left:=10;
  Width:=100;
  Height:=100;
  Visible:=true;
 end;
end;


 
Нуб   (2007-02-28 10:40) [3]

ха сенкс, так еще прикольней


 
Нуб   (2007-02-28 10:40) [4]

а зачем визибл тру ? :) можно же и так


 
Elen ©   (2007-02-28 10:48) [5]

Удалено модератором


 
Нуб   (2007-02-28 10:57) [6]

ха, красота :)
вообщем делаете новый апликатион бросаете на него 1 кнопку потом 1 Edit
и на клик конпки пишите код
//=========================================//
procedure TForm1.Button1Click(Sender: TObject);
var kol: integer;
   btn: array [1..5] of TButton;
begin
      for kol:=1 to StrToInt(Trim(Edit1.Text)) do begin
          btn[kol] := TButton.Create(Form1);
         with btn[kol] do begin
           Parent := Form1;
           Caption := "Button " + IntToStr(kol);
      Top:=kol*25;
 Left:=20;
            Width:=100;
            Height:=25;
            Visible := true;
        end;
    end;
end;
//=========================================//

в Edit вводите количество кнопок котороые вы хотите чтобы они создались и получаете их на экране чудесно :)


 
Нуб   (2007-02-28 10:59) [7]

а как их дестрой ?


 
Elen ©   (2007-02-28 11:00) [8]


> Нуб   (28.02.07 10:57) [6]

Ну вот видиш. сам разобрался. Не так уж и сложно ;)


 
Elen ©   (2007-02-28 11:04) [9]


> Нуб   (28.02.07 10:59) [7]

Вот все в купе :
unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Button1: TButton;
   Edit1: TEdit;
   Button2: TButton;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var kol: integer;     btn: array of TButton;
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

     for kol:=1 to StrToInt(Trim(Edit1.Text)) do begin
        SetLength(btn,StrToInt(Trim(Edit1.Text))+1);
         btn[kol] := TButton.Create(Form1);
        with btn[kol] do begin
          Parent := Form1;
          Caption := "Button " + IntToStr(kol);
     Top:=kol*25;
Left:=20;
           Width:=100;
           Height:=25;
           Visible := true;
       end;
   end;
end;
//=========================================//

procedure TForm1.Button2Click(Sender: TObject);
begin
 for kol:=low(btn) to high(btn) do btn[kol].free
end;

end.


 
Нуб   (2007-02-28 11:06) [10]

или
procedure TForm1.Button2Click(Sender: TObject);
var kol: integer;
begin
 for kol:=1 to StrToInt(Trim(Edit1.Text)) do begin
    Form1.RemoveControl(btn[kol]);
     btn[kol].Destroy;
   end;
end;


 
Нуб   (2007-02-28 11:06) [11]

классный код у тебя !!! супер


 
Elen ©   (2007-02-28 11:09) [12]


> Нуб   (28.02.07 11:06) [11]

Дарю на память ;)


 
Нуб   (2007-02-28 11:14) [13]

:)


 
f2d ©   (2007-03-02 18:57) [14]

давайте несколько разовьём тему. в файле записаны компоненты которые необходимо закинуть на форму. например в хмл. по иерархии вычисляется owner а по полям свойства которые доступны для этого компонента, например для батона или эдита и тд - caption, для чекбокса - checked...

встала задача - для каждого батона нужно назначить свою процедуру на событие onClick, код которой можно так же задавать извне.
по моим соображениям, код будущей процедуры будет храниться в файле(название файла - имя компонента). для работы со скриптами у меня есть компонент PascalScript. как сделать привязку OnClick"a и PascalScript"a? или предложите другие варианты...
заранее спасибо



Страницы: 1 вся ветка

Текущий архив: 2007.03.25;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.029 c
1-1170164319
whitebarin
2007-01-30 16:38
2007.03.25
Как программно отключить Falsh накопитель?


2-1173040725
gosha73
2007-03-04 23:38
2007.03.25
WideString - > UnicodeString


15-1172672040
Александр Иванов
2007-02-28 17:14
2007.03.25
Перенос БД


15-1172673922
partizan
2007-02-28 17:45
2007.03.25
Компонента для работы с ФТП


2-1172750857
Sapos
2007-03-01 15:07
2007.03.25
Поиск в БД