Форум: "Основная";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];
ВнизКак создать массив кнопок? Найти похожие ветки
← →
Vinivor (2002-05-05 13:41) [0]Народ, подскажите пожалиста, как же сделать массив кнопок?
Динамически нужно создать достаточно большое количество кнопок, создать то я их создал, только событие OnClick прикрутить не могу.
← →
Anatoly Podgoretsky (2002-05-05 13:56) [1]Там где создал, сразу делай .OnClick := ....;
← →
SPeller (2002-05-05 14:18) [2]var buttons:=array of tbutton;
implementation
...
setlength(buttons,n);
for i:=1 to n do begin
buttons[i]:=tbutton.create;
buttons[i].tag:=i;
buttons[i].OnClick:=MyProcClick;
end;
Теперь все они будут вызывать MyProcClick при нажатии. А определять какая из них вызвала обработчик вот так:
procedure tform1.MyProcClick(sender:tobject);
var ButtonNumber:integer;
begin
ButtonNumber:=tbutton(sender).click;
...
end;
← →
SPeller (2002-05-05 14:21) [3]>ButtonNumber:=tbutton(sender).click;
Надо так:
ButtonNumber:=tbutton(sender). Tag;
← →
Vinivor (2002-05-05 21:49) [4]А вот и не получается!
Ошибку выдает.
New := TSpeedButton.Create(Self);
New.Flat := True;
New.Font.Color := clBtnFace;
New.Layout := blGlyphTop;
New.Caption := LabeledEdit2.Text;
New.ClientHeight := 70;
New.ClientWidth := 70;
New.Glyph := Image1.Picture.Bitmap;
New.Cursor := crHandPoint;
New.Left := BL[LB1.ItemIndex];
New.Top := BT[LB1.ItemIndex];
New.Name := "SB" + IntToStr(Name1);
New.OnClick := NewClick;
LB2.Items.Add(New.Name + " "" + LabeledEdit2.Text + """);
New.Tag := LB2.ItemIndex;
New.Parent := Form1.PageControl1.Pages[LB1.ItemIndex];
Примерно так.
Так вот работает, а как только пытаюсь прикрутить номер, вываливает ошибку.
← →
arhelon (2002-05-06 08:55) [5]А че слабо посмотреть исходник TMessageDlg ???
← →
KSergey (2002-05-06 09:55) [6]Ошибку выдает - это приятно
Если нет ошибок - значит они есть, но их не видно...
А написать что за ошибку и в каком месте - сложно?
К слову, чтобы не было ругани по поводу совпадающих имен компонент можно св-ству Name присваивать всегда пустую строку.
А вообще - почитайте статью "Жизнь и смерть в режиме run-time" на Королевстве дельфи - дусаю множество вопросов у вас отпадет
(сегодня даже не поленился и даю точную ссылку http://delphi.vitpc.com/helloworld/runtime_comp.htm
Так же прочитайте все статьи из раздела "Hello, World!" - найдете массу интересного, я вас уверяю http://delphi.vitpc.com/helloworld/index.htm)
← →
Fay (2002-05-07 08:09) [7]> Как создать массив кнопок?
a : array of TButton
8)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c