summaryrefslogtreecommitdiff
path: root/src/corelib/gdi
diff options
context:
space:
mode:
authorGraeme Geldenhuys <graeme@mastermaths.co.za>2010-10-29 12:38:03 +0200
committerGraeme Geldenhuys <graeme@mastermaths.co.za>2010-10-29 12:38:03 +0200
commitd3bc090ffb6c1a96e2a6cb01f474f9318c4c84f1 (patch)
treef6924e6a611b6acedbda74562769c42a9dfdae19 /src/corelib/gdi
parent5b0c88e262642f787e96588599db19b618c58250 (diff)
downloadfpGUI-d3bc090ffb6c1a96e2a6cb01f474f9318c4c84f1.tar.xz
Moved OnDragStartDetected from TfpgWidget to TfpgWindowBase
* also introduced virtual DoDragStartDetected which executes the OnDragStartDetected event * We also added a override of DoDragStartDetected in GDI for some extra tasks.
Diffstat (limited to 'src/corelib/gdi')
-rw-r--r--src/corelib/gdi/fpg_gdi.pas10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/corelib/gdi/fpg_gdi.pas b/src/corelib/gdi/fpg_gdi.pas
index a6a94c4d..c1560042 100644
--- a/src/corelib/gdi/fpg_gdi.pas
+++ b/src/corelib/gdi/fpg_gdi.pas
@@ -186,6 +186,7 @@ type
procedure DoSetMouseCursor; override;
procedure DoDNDEnabled(const AValue: boolean); override;
procedure DoAcceptDrops(const AValue: boolean); override;
+ procedure DoDragStartDetected; override;
property WinHandle: TfpgWinHandle read FWinHandle;
public
constructor Create(AOwner: TComponent); override;
@@ -1906,6 +1907,15 @@ begin
end;
end;
+procedure TfpgGDIWindow.DoDragStartDetected;
+begin
+ inherited DoDragStartDetected;
+ { In windows OLE dragging is a blocking function, so it never returns until
+ OnStartDragDetected is complete. So we need to set FDragActive to False
+ here. }
+ FDragActive := False;
+end;
+
constructor TfpgGDIWindow.Create(AOwner: TComponent);
begin
inherited Create(AOwner);