Здравствуйте, я создаю на Скролбоксе несколько Листбоксов и потом хочу перетягивать файл в Листбокс и пишу слово "фото", но у меня почемуто на перемещение файла реагирует только первый Листбокс. Можете помочь разобраться, как сделать чтобы на моё перемещение реагировал тот листбокс куда я переместил мышью файл?
Вот код, что я смог написать, я совсем новичок(
Код:
var
Form1: TForm1;
a: array [0..20] of TListBox;
i: Integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i, z: Integer;
begin
z:=0;
for i:= 0 to 5 do
begin
a[i]:= TListBox.Create(self);
a[i].Parent:= ScrollBox1;
a[i].Top:= z;
a[i].Left:= 1;
a[i].Width:= 313;
a[i].Height:= 120;
z:= z + 125;
a[i].DragMode:= dmAutomatic;
end;
end;
procedure TForm1.WMDropFiles(var Msg: TWMDropFiles);
var
HF: THandle;
s: array [0..1023] of char;
p: TPoint;
myRec: TRect;
begin
HF := Msg.Drop;
DragQueryFile(HF, 1, s, sizeof(s));
DragQueryPoint(HF, p);
begin
if PtInRect(a[i].BoundsRect, p)
then
a[i] := a[i]; // не понимаю эту строчку
a[i].Items.add('Фото');
end;
DragFinish(HF);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Form1.Handle, true);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DragAcceptFiles(Form1.Handle, false);
end;