diff --git a/lcl/interfaces/win32/win32winapi.inc b/lcl/interfaces/win32/win32winapi.inc index 9452287724..1e009f329c 100644 --- a/lcl/interfaces/win32/win32winapi.inc +++ b/lcl/interfaces/win32/win32winapi.inc @@ -1221,8 +1221,14 @@ end; control. ------------------------------------------------------------------------------} function TWin32WidgetSet.EnableWindow(HWnd: HWND; BEnable: Boolean): Boolean; +var + OldEnable: Boolean; begin - Result := Boolean(Windows.EnableWindow(HWnd, BEnable)); + OldEnable := IsWindowEnabled(HWnd); + if OldEnable <> BEnable then + Result := Boolean(Windows.EnableWindow(HWnd, BEnable)) + else + Result := not OldEnable; end; {------------------------------------------------------------------------------