Hier hat
turboPASCAL gezeigt, wie man ein TImage mit der Maus zur Laufzeit verschieben kann. Dazu muss ein TImage auf einem Panel platziert werden, dessen Eigenschaft
Autosize auf
true gestellt werden muss.
Wie man am Code erkennen kann, wird nun nicht das Image verschoben, sondern das Panel. Doch da
Autosize auf
true steht, hat es denn Effekt, als ob das bloße Image verschoben wird. Ist die Eigenschaft
BevelOuter des Panels auf
bvNone sieht man vom Panel nichts mehr.
Delphi-Quellcode:
const
SC_DRAGMOVE = $F012;
procedure TForm1.FormCreate(Sender: TObject);
begin
DoubleBuffered := True; // wird das Flackern nicht 100% beseitigen aber verbessern
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if Shift = [ssLeft] then // ist linke Maustaste gedrückt, dann...
begin
ReleaseCapture; // "Maus an akt. Form binden"
Panel1.Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0); // Panel verschieben
end;
end;
[edit=Chakotay1308]Klassifizierung eingestellt. Mfg, Chakotay1308[/edit]
[edit=fkerber]Neu abgespeichert wg. Syntax-Highlighting. Mfg, fkerber[/edit]