|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как вписать код в динамические кнопки?
Задача сгенерировать через Edit n-компонентов Button и Shape, потом при нажатий на button1 один из компонентов Shape меняет позицию на 100 в низ к примеру, также с button2, сгенерировать все это получилось, но как теперь зделать чтоб Shape менял позицию?
Код:
var s1:array[1..10] of tshape; d,a:integer; n,i:integer; t1,t2,t3:string; Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var d:integer; B: TButton; begin for i := 1 to strtoint(edit1.Text) do begin B := TButton.Create(Self); B.Caption := Format('extragerea'+inttostr(i),[i]); B.Parent := Self; B.Height := 23; B.Width := 100; B.Left := 10; B.Top := 10 + i * 25; end; for i:= 1 to strtoint(edit1.text) do begin s1[i]:=tshape.Create(self); s1[i].Parent:=self; s1[i].Shape:=stcircle; s1[i].Width:=30; s1[i].height:=30; s1[i].Top:=30; s1[i].Left:=130+i*30; randomize; a:=random(strtoint(edit1.text)); if a=0 then s1[i].Brush.Color:=clred; s1[i].Pen.Color:=clblack; if a=1 then s1[i].Brush.Color:=clblue; s1[i].Pen.Color:=clgreen; if a=2 then s1[i].Brush.Color:=clblack; s1[i].Pen.Color:=clred; end; end; end. |
#2
|
||||
|
||||
Задайте при создании шейпы свойство таг равный переменной i, а у кнопки подключите обработчик жима по ней, и в нём по тагу можно отловить кружочек который нужно передвинуть. Вот подобное по теме
З.Ы. Немного код не рабочий должен быть - здесь Код:
... if a=0 then s1[i].Brush.Color:=clred; s1[i].Pen.Color:=clblack; if a=1 then s1[i].Brush.Color:=clblue; s1[i].Pen.Color:=clgreen; if a=2 then s1[i].Brush.Color:=clblack; s1[i].Pen.Color:=clred; ... Код:
... with s1[i] do case Random(StrToInt(Edit1.Text)) of 1: begin Brush.Color:= clBlue; Pen.Color:= clGreen; end; 2: begin Brush.Color:= clBlack; Pen.Color:= clRed; end; else begin Brush.Color:= clRed; Pen.Color:= clBlack; end; end;{case} ... З.Ы.З.Ы. Только сейчас заметил - капшн на кнопках это конечно хорошо, но имя им вменяемое присвоить, да ещё и с приплюснутым счётчиком ещё лучше бы, намного легче потом их искать будет в рантайме и веселей Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 06.03.2014 в 10:30. |