The patch I sent for dragdock.inc only works for dragmode=dmManual. For a dmAutomatic control to work correctly then the following patch is required for dragobject.inc:
Index: dragobject.inc
===================================================================
--- dragobject.inc (revision 9003)
+++ dragobject.inc (working copy)
@@ -73,7 +73,9 @@
procedure TDragObject.CaptureChanged(OldCaptureControl: TControl);
begin
- DragDone(False);
+ if OldCaptureControl.Dragging then
+ DragDone(true) else
+ DragDone(false);
end;
procedure TDragObject.KeyDown(var Key: Word; Shift: TShiftState);
===================================================================
--- dragobject.inc (revision 9003)
+++ dragobject.inc (working copy)
@@ -73,7 +73,9 @@
procedure TDragObject.CaptureChanged(OldCaptureControl: TControl);
begin
- DragDone(False);
+ if OldCaptureControl.Dragging then
+ DragDone(true) else
+ DragDone(false);
end;
procedure TDragObject.KeyDown(var Key: Word; Shift: TShiftState);
The value of OldCaptureControl must be tested or else the drag will always be cancelled.
Yahoo! Messenger with Voice. PC-to-Phone calls for ridiculously low rates.
