![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() здраствуйте.подскажите пожалуйста,как при нажатии на кнопку,создать N кол-во кнопок (кол-во вводим в Edit1)?
у меня получаеться создать тока одну кнопку Код:
var Form1: TForm1; Button2 : Tbutton; <...> procedure TForm1.Button1Click(Sender: TObject); begin Button2 := TButton.Create(Form1); Button2.Parent := Form1; Button2.Height := 25; Button2.left:=72 ; Button2.Top:=8; Form1.ActiveControl:=Button2; end; Код:
var Form1: TForm1; Button2 : Tbutton; <...> procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin for i:=1 to N do begin Button2 := TButton.Create(Form1); Button2.Parent := Form1; Button2.Height := 25; Button2.left:=20*i ;//с расположением пока не работал еще особо.это так для вида Button2.Top:=8; Form1.ActiveControl:=Button2; end; end; Последний раз редактировалось Snake22, 09.03.2011 в 00:17. Причина: подписался на тему)) |
#2
|
||||
|
||||
![]() Нужен массив кнопок:
Код:
var MyButtons: array of TButton; Код:
procedure TForm1.Button1Click(Sender: TObject); var I: Integer; begin SetLength(MyButtons, StrToInt(Edit1.Text)); // задаёшь разиер массива (кол-во кнопок) for I := 0 to Length(MyButtons) - 1 do begin // в цикле создаёшь кнопки и сохраняешь указатели на них в массиве MyButtons[i] := TButton.Create(Form1); // здесь делаешь с созданной кнопкой что нужно MyButtons[i].Parent := Form1; // и т. д. end; end; Код:
MyButtons[0].Caption := 'My button 1'; MyButtons[1].Caption := 'My button 2'; Последний раз редактировалось ryderx34, 09.03.2011 в 02:40. |
#3
|
|||
|
|||
![]() Спасибо! с учебы приду заценю)
|
#4
|
|||
|
|||
![]() Или так:
Код:
var Form1: TForm1; Button2 : Tbutton; <...> procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin for i:=1 to 10 do begin With Button2 do begin TButton.Create(Form1); Parent := Form1; Height := 25; left:=72 ; Top:=8; Name:='Btn'+IntToStr(i); end; end; end; Последний раз редактировалось Janom, 09.03.2011 в 17:28. |
#5
|
||||
|
||||
![]() Цитата:
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#6
|
|||
|
|||
![]() Можно, но тэг тоже отслеживать надо...
Я про такой вариант: Код:
var FindComp:TComponent; ... for i:=0 to form1.componentcount-1 do begin if form1.components[i].name=('Btn7') then begin FindComp:=form1.findcomponent(form.components[i].name); TButton(FindComp).Caption:='Кнопка7'; end; end; Последний раз редактировалось Janom, 09.03.2011 в 18:02. |