[Lazarus] ghost images of the frame [Re: Delphi editor clone]

Martin lazarus at mfriebe.de
Tue Nov 10 02:39:20 CET 2009


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.
>





More information about the Lazarus mailing list