Timage i dynamiczne buttony

0

Witam,

Potrzebuje od dobrych ludzi podpowiedzi

Posiadam Timage oraz procedurę do niego MouseMove dzięki której mogę moje zdjęcie przesuwać za pomocą myszki.

Stworzyłem sobie w sposób dynamiczny kilka buttonów:

for i:=1 to n do
    with TButton.Create(self) do begin
     Width:=30;
     Height:=20;
     Left:=Image1.Left+ADOTable1.FieldValues['pozycja_x'];
     Top:=Image1.Top+ADOTable1.FieldValues['pozycja_y'];
     Caption:=ADOTable1.FieldValues['ID'];
     Parent:=self;
     Visible:=True;
     Name:='przycisk'+IntToStr(n);
     n:=n+1;
     ADOTable1.Next;
    end;

Chciałbym aby podczas procedury MouseMove wszystkie stworzone buttony zmieniały swoje Left i Top zgodnie z ruchem myszki. Czy jest w stanie ktoś mnie nakierować na dobrą drogę?

Pozdrawiam

0

Przechowuj sobie te buttony na jakiejś liscie, np:

var buttony:array of TButton;
var b:TButton;
for i:=1 to n do
   b:=TButton.Create(self);
     b.Width:=30;
     b.Height:=20;
     b.Left:=Image1.Left+ADOTable1.FieldValues['pozycja_x'];
     b.Top:=Image1.Top+ADOTable1.FieldValues['pozycja_y'];
     b.Caption:=ADOTable1.FieldValues['ID'];
     b.Parent:=self;
     b.Visible:=True;
     b.Name:='przycisk'+IntToStr(n);
    setlength(buttony, length(buttony)+1);
    buttony[length(buttony)-1]:=b;
     n:=n+1;
     ADOTable1.Next;
    end;

A potem.

for i:=0 to length(buttony)-1 do begin
  buttony[i].left:=xxx;
  buttony[i].top:=xxx;
end;

Ewentualnie mozna poprzez forme zrobić pętle po wszystkich obiektach na formularzu i sprawdzac ktore to TButton.

1 użytkowników online, w tym zalogowanych: 0, gości: 1