Alle sichtbaren Komponenten zur Laufzeit verschieben
Dieser Code wird zur Laufzeit noch nicht TWinControl Nachkommen jedes Steuerelement verschoben.
Stellen Sie sicher, dass ExtCtrls in der Klausel verwendet wird.
Legen Sie das OnMouseDown-Ereignis der Steuerelemente auf den folgenden Code.
Procedure TForm1.MoveControl (Sender: TObject; Button: TMouseButton;
Verschiebung: TShiftState; X, Y: Integer);
var
TempPanel: TPanel;
Steuerung: TControl;
beginnen
Freigabestatus MOUSEDOWN
ReleaseCapture;
Wenn Absender TWinControl dann ist
Komponente hat einen Griff, verschieben Sie es direkt
TWincontrol(Sender). Perform(WM_SYSCOMMAND,$F019,0)
sonst
Komponente hat keinen Griff, verschieben Sie es in einem TPanel
versuchen Sie
Kontrolle: = TControl(Sender);
TempPanel: = TPanel.Create(Self);
mit TempPanel-do
beginnen
Ersetzen von Komponenten mit TempPanel
Bildunterschrift: = '';
BevelOuter: = BvNone;
SetBounds (Control.Left,Control.Top,
Control.Width,Control.Height);
Eltern: = Control.Parent;
Unserer Kontrolle in der TempPanel setzen
Control.Parent: = TempPanel;
TempPanel mit dem Steuerelement darin bewegen
Perform(WM_SYSCOMMAND,$F019,0);
Wird die Komponente in dem Bereich abgelegt wurde
Control.Parent: = übergeordnete;
Control.Left: = Links;
Control.Top: = oben;
Ende;
Schließlich
TempPanel.Free;
Ende;
Ende;
Alle sichtbaren Komponenten zur Laufzeit verschieben
Alle sichtbaren Komponenten zur Laufzeit verschieben : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Dieser Code wird zur Laufzeit noch nicht TWinControl Nachkommen jedes Steuerelement verschoben.
Stellen Sie sicher, dass ExtCtrls in der Klausel verwendet wird.
Legen Sie das OnMouseDown-Ereignis der Steuerelemente auf den folgenden Code.
Procedure TForm1.MoveControl (Sender: TObject; Button: TMouseButton;
Verschiebung: TShiftState; X, Y: Integer);
var
TempPanel: TPanel;
Steuerung: TControl;
beginnen
Freigabestatus MOUSEDOWN
ReleaseCapture;
Wenn Absender TWinControl dann ist
Komponente hat einen Griff, verschieben Sie es direkt
TWincontrol(Sender). Perform(WM_SYSCOMMAND,$F019,0)
sonst
Komponente hat keinen Griff, verschieben Sie es in einem TPanel
versuchen Sie
Kontrolle: = TControl(Sender);
TempPanel: = TPanel.Create(Self);
mit TempPanel-do
beginnen
Ersetzen von Komponenten mit TempPanel
Bildunterschrift: = '';
BevelOuter: = BvNone;
SetBounds (Control.Left,Control.Top,
Control.Width,Control.Height);
Eltern: = Control.Parent;
Unserer Kontrolle in der TempPanel setzen
Control.Parent: = TempPanel;
TempPanel mit dem Steuerelement darin bewegen
Perform(WM_SYSCOMMAND,$F019,0);
Wird die Komponente in dem Bereich abgelegt wurde
Control.Parent: = übergeordnete;
Control.Left: = Links;
Control.Top: = oben;
Ende;
Schließlich
TempPanel.Free;
Ende;
Ende;
Alle sichtbaren Komponenten zur Laufzeit verschieben
By Wiezutun
Alle sichtbaren Komponenten zur Laufzeit verschieben : Mehreren tausend Tipps, um Ihr Leben einfacher machen.