Einzelnen Beitrag anzeigen

eagle616

Registriert seit: 1. Mär 2009
17 Beiträge
 
#1

Alle Komponenten auf einem Panel bewegen

  Alt 13. Jun 2012, 11:16
Hi,

ich habe ein großes Panel auf dem ich zur Laufzeit kleinere Panels generiere.
Jetzt möchte ich, dass man auf das große Panel klicken und dann mit der Maus die kleinen Panels glechzeitig verschieben kann.

Mit einem kleinen Panel geht das auch aber wenn mehrere da sind wird nur das erste verschoben.
Mein Code sieht in etwa so aus:
Delphi-Quellcode:
procedure TForm1.ParentPanelMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var i : integer;
begin
  if Shift = [ssLeft] then
  begin
     ReleaseCapture;
     for i := 0 To ParentPanel.ControlCount-1 Do
     begin
        Sendmessage(TWinControl(ParentPanel.Controls[i]).handle, WM_NCLBUTTONDOWN, 2, 0);
     end;
   end;
end;
Wenn ich für i einen festen Wert einsetzte oder die Schleife downto mache wir auch das entsprechende Panel bewegt aber eben immer nur eins.

Weiß jemand woran das liegen kann? Oder weiß jemand eine bessere Lösung z.B. ohne die Windows Funktionen?

mfg


Patrick
  Mit Zitat antworten Zitat