From d2001e0228bd361239fded3a8d414aae2497e33d Mon Sep 17 00:00:00 2001 From: paul Date: Tue, 27 Apr 2010 03:23:18 +0000 Subject: [PATCH] lcl: extend the list of known WM_WINDOWPOSCHANGED message flags, don't intersect SWP_SourceIsInterface with standard windows flags git-svn-id: trunk@24990 - --- lcl/include/wincontrol.inc | 15 +++++++++++++++ lcl/lcltype.pp | 23 +++++++++++++++++------ 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/lcl/include/wincontrol.inc b/lcl/include/wincontrol.inc index 81c957317b..aa4dbd5db1 100644 --- a/lcl/include/wincontrol.inc +++ b/lcl/include/wincontrol.inc @@ -6856,8 +6856,23 @@ procedure TWinControl.WMWindowPosChanged(var Message: TLMWindowPosChanged); var NewLeft, NewTop, NewWidth, NewHeight: integer; NewBoundsRealized: TRect; + {$IFDEF VerboseAllAutoSize} + S: String; + {$ENDIF} begin if Message.WindowPos=nil then exit; + + {$IFDEF VerboseAllAutoSize} + S := ''; + if (Message.WindowPos^.flags and SWP_NOSIZE) = 0 then + S := S + 'Resize '; + if (Message.WindowPos^.flags and SWP_NOMOVE) = 0 then + S := S + 'Move '; + if (Message.WindowPos^.flags and SWP_NOMOVE) = 0 then + S := S + 'Move '; + DebugLn(S); + {$ENDIF} + NewLeft := Message.WindowPos^.x; NewTop := Message.WindowPos^.y; NewWidth := Message.WindowPos^.cx; diff --git a/lcl/lcltype.pp b/lcl/lcltype.pp index 268e5982a8..3ed09510b1 100644 --- a/lcl/lcltype.pp +++ b/lcl/lcltype.pp @@ -800,12 +800,23 @@ const { WMWindowPosChanged message constants} - SWP_NOSIZE = 1; - SWP_NOMOVE = 2; - SWP_NOZORDER = 4; - SWP_NOREDRAW = 8; - SWP_NOACTIVATE = $10; - SWP_SourceIsInterface = 128; // this flag can be combined with the above + SWP_NOSIZE = $00001; + SWP_NOMOVE = $00002; + SWP_NOZORDER = $00004; + SWP_NOREDRAW = $00008; + SWP_NOACTIVATE = $00010; + SWP_DRAWFRAME = $00020; + SWP_FRAMECHANGED = $00020; + SWP_SHOWWINDOW = $00040; + SWP_HIDEWINDOW = $00080; + SWP_NOCOPYBITS = $00100; + SWP_NOOWNERZORDER = $00200; + SWP_NOREPOSITION = $00200; + SWP_NOSENDCHANGING = $00400; + SWP_DEFERERASE = $02000; + SWP_ASYNCWINDOWPOS = $04000; + SWP_STATECHANGED = $08000; // used by windows but not documented (used even in wine) + SWP_SourceIsInterface = $10000; // this flag can be combined with the above { WMSIZE message constants} Size_Restored = 0; // the default