Witam,
mam pewien problem z obsługą zdarzeń do dynamicznych komponentów..
Tworze je tak:
// Globalne
var
Lab : TLabel;
procedure TForm5.CreateLabel(X,Y:Integer;Text:String;Font:TFont);
begin
Lab := TLabel.Create(self);
Lab.Top := X;
Lab.Left := Y;
Lab.Parent := Self;
Lab.Caption := Text;
Lab.Font := Font;
Lab.Name:='Label'+IntToStr(Lab_Count);
Lab.OnMouseDown := OnMouseDown;
Lab.OnMouseMove := OnMouseMove;
Lab.OnMouseUp := OnMouseUp;
Lab.Show;
Inc(Lab_Count);
end;
A zdarzenia:
procedure OnMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Enable_Move_Mouse:=true;
end;
procedure OnMouseMove(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
L : array of TLabel
Lab_Num : Integer;
begin
if Enable_Move_Mouse then begin
Lab_Num := // Tutaj cos :p
L[Lab_Num].Top := X;
L[Lab_Num].Left := Y;
end;
end;
procedure OnMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Enable_Move_Mouse:=false;
end;
A chodzi mi o to by po naciśnięciu na dany komponent dało by się go przesuwać..
Ale nie mam pojęcia jak sprawdzić na który to komponent naciśnięto..
Jakieś pomysły?