[Lazarus] fsStayOnTop under windows

JoshyFun joshyfun at gmail.com
Wed Jan 28 18:02:19 CET 2009


Hello Paul,

Wednesday, January 28, 2009, 10:01:39 AM, you wrote:

PI> the win32 widgetset. Now you complain because of that :) Who is right?
PI> Delphi 7 at least behave the same - it hides StayOnTop forms when 
PI> application deactivates.

No, Delphi 7 keeps StayOnTop windows on top always (it simply sets the
HWND_TOPMOST attribute to the window).

I think that there is a confusion about the StayOnTop and the "float
over same application forms" options. The "float" one was added in
Delphi 2005 (I think) but I can not recall the name.

PI> Maybe we need to rewrite that this piece of code and more generic 
PI> solution that can satisfy both camps needs to be found. I will try to
PI> look at this problem soon.

Current implementation drives crazy the Windows window manager and
"corrupts" the internal win windows stack, in fact I had removed that
code from my own LCL compilation to avoid such problems.

The buggy effect is that when you have in example 3 windows stacked as
1, 2, 3 and you click in "2", "2" comes to front (as expected) but the
new stack order is 2, 3, 1 instead 2, 1, 3 (which is the expected).

Calls to setwindowlong when application is being activated or
deactivated seems to become windows crazy.

-- 
Best regards,
 JoshyFun




More information about the Lazarus mailing list