Hvordan flytte noen synlig Component på Runtime

Denne koden vil flytte noen kontroll under kjøring, selv ikke TWinControl etterkommere.
Kontroller at ExtCtrls er i ditt bruker klausulen. Deretter setter OnMouseDown tilfelle av kontrollene til følgende kode
prosedyre TForm1.MoveControl (Sender: TObject; Button: TMouseButton; Shift: TShiftState, X, Y: Integer).; Var TempPanel: TPanel; Kontroll: TCONTROL; begynne //Slipp mousedown status ReleaseCapture; hvis avsender er TWinControl deretter //Component har et håndtak, flytte den direkte TWincontrol (Sender) .Utfør (WM_SYSCOMMAND, $ f019,0) else //Komponent har ingen håndtak, flytte den i en TPanel prøve Control: = TCONTROL (Sender); TempPanel: = TPanel.Create (Selv); med TempPanel gjør begynne //Erstatt komponent med TempPanel Caption: = ''; BevelOuter: = bvNone; SetBounds (Control.Left, Control.Top, Control.Width, Control.Height); Parent: = Control.Parent;
//Sett vår kontroll i TempPanel Control.Parent: = TempPanel;
//Flytt TempPanel med kontroll inni den Perform (WM_SYSCOMMAND, $ F019,0); Anmeldelser //Sett komponenten der panelet ble droppet Control.Parent: = Parent; Control.Left: = Venstre; Control.Top: = Top; ende; endelig TempPanel.Free; ende; end;



Previous:
Next Page: