From a54c5387fe1d9251eb6de34bf1e3854c7d59f390 Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 14 Mar 2012 01:48:40 +0000 Subject: [PATCH] win32: hide modal window by SetWindowPos() - this partly fix issue #0021306 git-svn-id: trunk@35962 - --- lcl/interfaces/win32/win32wsforms.pp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lcl/interfaces/win32/win32wsforms.pp b/lcl/interfaces/win32/win32wsforms.pp index 2cfcb4debc..da06202df0 100644 --- a/lcl/interfaces/win32/win32wsforms.pp +++ b/lcl/interfaces/win32/win32wsforms.pp @@ -694,7 +694,11 @@ begin Windows.SendMessage(AWinControl.Handle, WM_SHOWWINDOW, 1, 0); end else - ShowWindow(AWinControl.Handle, SW_HIDE); + if fsModal in TCustomForm(AWinControl).FormState then + Windows.SetWindowPos(AWinControl.Handle, 0, 0, 0, 0, 0, + SWP_NOSIZE or SWP_NOMOVE or SWP_NOZORDER or SWP_NOACTIVATE or SWP_HIDEWINDOW) + else + Windows.ShowWindow(AWinControl.Handle, SW_HIDE); end; class procedure TWin32WSCustomForm.ShowModal(const ACustomForm: TCustomForm);