Witam. Mam takie pytanie. Mianowicie w moim programie po naciśnięciu buttona tworzona jest dynamicznie forma.
var
kartka: array of TForm;
....
procedure TForm1.Button1Click(Sender: TObject);
var
H: Integer;
Begin
ilosc := ilosc + 1;
setlength(kartka, ilosc);
kartka[ilosc-1] := TForm.Create(self);
kartka[ilosc-1].top := 50;
kartka[ilosc-1].Left := 50;
kartka[ilosc-1].Name := 'karta' + inttostr(ilosc);
H := FindWindow('Progman',nil);
Windows.SetParent(kartka[ilosc-1].Handle, H);
kartka[ilosc-1].Show;
end;
jak widać forma stworzona dynamicznie wysyłana jest na pulpit i tam zostaje. chciał bym teraz na każdej z utworzonych w ten sposób form wywołać zdarzenie OnMouseDown. konkretnie chodzi o wykonanie kodu który pozwala na przeciąganie formy chwytając za jej obszar a nie belke. coś jak poniżej
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
i: integer;
begin
If button = mbleft then begin
releasecapture;
form1.Perform (WM_syscommand, $F012, 0);
end;
end;