lcl: extend the list of known WM_WINDOWPOSCHANGED message flags, don't intersect SWP_SourceIsInterface with standard windows flags

git-svn-id: trunk@24990 -
This commit is contained in:
paul 2010-04-27 03:23:18 +00:00
parent 2eda39d58c
commit d2001e0228
2 changed files with 32 additions and 6 deletions

View File

@ -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;

View File

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