[Lazarus] New menu designer

Dmitry Boyarintsev skalogryz.lists at gmail.com
Wed Dec 23 20:55:20 CET 2015


Here's the patch. Please test, It should work now for you.

Index: lcl/interfaces/win32/win32proc.pp
===================================================================
--- lcl/interfaces/win32/win32proc.pp   (revision 51009)
+++ lcl/interfaces/win32/win32proc.pp   (working copy)
@@ -870,9 +870,10 @@
     WindowInfo^.StayOnTopList := StayOnTopWindowsInfo^.StayOnTopList;
     EnumThreadWindows(GetWindowThreadProcessId(AppHandle, nil),
       @EnumStayOnTopRemove, LPARAM(StayOnTopWindowsInfo));
-    for I := 0 to WindowInfo^.StayOnTopList.Count - 1 do
-      SetWindowPos(HWND(WindowInfo^.StayOnTopList[I]), HWND_NOTOPMOST, 0,
0, 0, 0,
+    for I := 0 to WindowInfo^.StayOnTopList.Count - 1 do begin
+      SetWindowPos(HWND(WindowInfo^.StayOnTopList[I]), HWND_BOTTOM, 0, 0,
0, 0,
         SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE or SWP_NOOWNERZORDER or
SWP_DRAWFRAME);
+    end;
     Dispose(StayOnTopWindowsInfo);
   end;
   inc(InRemoveStayOnTopFlags);

thanks,
Dmitry

On Wed, Dec 23, 2015 at 12:43 PM, Ondrej Pokorny <lazarus at kluug.net> wrote:

> On 23.12.2015 18:25, Dmitry Boyarintsev wrote:
>
> On Wed, Dec 23, 2015 at 11:26 AM, Dmitry Boyarintsev <
> <skalogryz.lists at gmail.com>skalogryz.lists at gmail.com> wrote:
>
>> StayOnTop - stay on top of all windows within the application
>> fsSystemStayOnTop - stay on top of all windows within system.
>>
>
> Yes, it is in Lazarus documentation as well.
> http://lazarus-ccr.sourceforge.net/docs/lcl/controls/tformstyle.html
>
>
> Yes, you are right. I didn't check it before. But as I stated in my last
> emails:
> 1.) fsStayOnTop is Delphi-incompatible. Delphi's fsStayOnTop corresponds
> with Lazarus' fsSystemStayOnTop.
> 2.) fsStayOnTop in Lazarus can and does overlap other application windows
> in Windows 10 (although not always).
> 3.) fsStayOnTop in Lazarus always does overlap other application windows
> in Linux/KDE.
>
> According to 2+3, fsStayOnTop in Lazarus is anything else than
> application-wide, regardless what the documentation states :(
>
> So either the documentation or LCL code has to be fixed - or both. The
> question is how:
> A.) Make it backwards compatible: fsStayOnTop / fsSystemStayOnTop
> B.) Make it Delphi compatible: fsStayOnTop + fsAppStayOnTop (if needed and
> supported).
>
> Ondrej
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20151223/d8adfd4d/attachment-0003.html>


More information about the Lazarus mailing list