<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 23/06/2010 15:28, Mattias Gaertner wrote:
<blockquote cite="mid:20100623162843.00cdfd16@limapholos.matom.wg"
 type="cite">
  <pre wrap="">On Wed, 23 Jun 2010 11:06:46 +0200
Hans-Peter Diettrich <a class="moz-txt-link-rfc2396E" href="mailto:DrDiettrich1@aol.com"><DrDiettrich1@aol.com></a> wrote:

  </pre>
  <blockquote type="cite">
    <pre wrap="">Martin schrieb:

    </pre>
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <pre wrap="">1. Just Click, without moving your mouse, on a Docking-Header, after
that the Desktop gets a 3px height and full length - big Rect (hard to
explain :( ) which is also shown if you want to dock a form to a
docking-side
     
          </pre>
        </blockquote>
        <pre wrap="">Are you sure you use the anchordocking manager and not the easydockmgr?
The anchordocking has by default a drag threshold of 4 pixel. A simple
click on the header does not start the docking.
   
        </pre>
      </blockquote>
      <pre wrap="">I can reproduce this here, with the anchor dock package. (didn't count 
the pixels, 3 or 4....)

Just a click, it happens on mouse up.
      </pre>
    </blockquote>
    <pre wrap="">
IMO this misbehaviour results from the inappropriate setting of 
DragImmediate=True, inherited from Delphi.
    </pre>
  </blockquote>
  <pre wrap="">
Why does that only happen on windows?
  </pre>
</blockquote>
<br>
It because of:<br>
<pre wrap="">In  lcl\include\dragmanager.inc  TDockPerformer

1) On mouse down, it executes DragStart => but at this time does <b
 class="moz-txt-star"><span class="moz-txt-tag">*</span>not<span
 class="moz-txt-tag">*</span></b> yet 
draw the rectangle
2) On mouse up it executes DragStop, and it does call  "ADockObjectCopy.HideDockImage;"
And that draws the rectangle, or rather some of it, at the top of the 
screen.

3) ADockObjectCopy.HideDockImage; calls 
  WidgetSet.DrawDefaultDockImage(EraseDockRect, DockRect, disHide);

and on windows disHide probaply doesn't do much => th pattern is always drawn with invert. But since there is no old pattern to delete, it actually paints a new one.


Other widgetsets may have better handling of disHide
</pre>
Martin<br>
</body>
</html>