Try the following,

- open one or 2 sources in the main window (just to make sure you have some tabs)
- show object inspector (or messages...) and dock to the main window
 ( it must be docked to the main win, or it will not happen)

- now grab the OI at it's top left corner and start dragging

You should see the dragging rectangle for the OI. The mouse should touch (or be within pixel distance of) the corner of the rectangle Move the mouse over the remaining tabs (and keep moving / move from one tab to the other and back, possible with a simultaneous up/down move).

Because the mouse and the drag border are over the tabs at the same time, the border leaves ghost images of itslef (windows) The reason is that the tabs redraw themself if the mouse goes over (in order to show a bit of highlight indication) [ so the whole thing is theme dependent ]

Since the frame draws deletes by inverting the screen, any changes to the screen (as the redraw of the tab) causes frame-fragment to be left behind.

------------------------
I haven't looked at your code.

but the IDE does "setCapture" (same as MouseCapture := true) to the control that is going to be dragged. That way all mouse events go there, and the tabs don't get them.

Martin




Hans-Peter Diettrich wrote:
Please have a look at examples/dockmanager/elasticsite/SiteTest project. It demonstrates how docking could work in the Lazarus IDE, and how multiple editor windows could be implemented.



--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to