Christian Budde wrote:
> +function GetTopMostWindows(Handle: HWND; Info: LongInt): BOOL; stdcall;
Shouldn't that be PtrInt for 64 bit compatibility ?
> +begin
> + Result := True;
> + if GetWindow(Handle, GW_OWNER) =
> PTopMostEnumInfo(Info)^.W32Widget.AppHandle then
W32Widget does not need to be in that Info, TWin32WidgetSet(WidgetSet)
is global, and exists only once.
> + if (GetWindowLong(Handle, GWL_EXSTYLE) and WS_EX_TOPMOST <> 0) and
> + (PTopMostEnumInfo(Info)^.IncludeMain {or (Application.MainForm = nil)
> or
> + (Handle <> Application.MainForm.Handle)}) then
> + PTopMostEnumInfo(Info)^.W32Widget.FTopMostList.Add(Pointer(Handle))
Why not put the list in PTopMostEnumInfo(Info) ?
> + else
> + begin
> + PTopMostEnumInfo(Info)^.TopWindow := Handle;
> + Result := False;
Why these two lines ?
> + if GetWindowLong(Info.TopWindow, GWL_EXSTYLE) and WS_EX_TOPMOST <> 0
> then
> + Info.TopWindow := HWND_NOTOPMOST;
> + for I := FTopMostList.Count - 1 downto 0 do
Why reverse order ?
Micha
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives