Hab jetzt mal auf die Schnelle rumgespielt:
Delphi-Quellcode:
var myButton : TObject;
procedure TaForm.btMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (Sender.ClassType = TButton)
and (Button = mbLeft) then begin
myButton := Sender;
end;
end;
procedure TaForm.btMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (Sender.ClassType = TButton)
and (Button = mbLeft) then begin
if myButton <> FindDragTarget((Sender as TControl).ClientToScreen(Point(X, Y)), True) then
begin
// DragDrop
end else begin
// Click
OnClick(Sender);
end;
end;
end;
Muß nur noch den Cursor wechseln, am besten wohl während des onMouseMove.
Grüße aus Kassel.
Konfuzius sprach: Etwas lernen und sich immer wieder darin üben - schafft das nicht auch Befriedigung?