mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-07 22:40:53 +03:00
Native window decorations: fixed enabled items is system menu
This commit is contained in:
@@ -601,12 +601,13 @@ public class FlatWindowsNativeWindowBorder
|
|||||||
HMENU systemMenu = User32Ex.INSTANCE.GetSystemMenu( hwnd, false );
|
HMENU systemMenu = User32Ex.INSTANCE.GetSystemMenu( hwnd, false );
|
||||||
|
|
||||||
// update system menu
|
// update system menu
|
||||||
|
int style = User32.INSTANCE.GetWindowLong( hwnd, GWL_STYLE );
|
||||||
boolean isMaximized = User32Ex.INSTANCE.IsZoomed( hwnd );
|
boolean isMaximized = User32Ex.INSTANCE.IsZoomed( hwnd );
|
||||||
setMenuItemState( systemMenu, SC_RESTORE, isMaximized );
|
setMenuItemState( systemMenu, SC_RESTORE, isMaximized );
|
||||||
setMenuItemState( systemMenu, SC_MOVE, !isMaximized );
|
setMenuItemState( systemMenu, SC_MOVE, !isMaximized );
|
||||||
setMenuItemState( systemMenu, SC_SIZE, !isMaximized );
|
setMenuItemState( systemMenu, SC_SIZE, (style & WS_THICKFRAME) != 0 && !isMaximized );
|
||||||
setMenuItemState( systemMenu, SC_MINIMIZE, true );
|
setMenuItemState( systemMenu, SC_MINIMIZE, (style & WS_MINIMIZEBOX) != 0 );
|
||||||
setMenuItemState( systemMenu, SC_MAXIMIZE, !isMaximized );
|
setMenuItemState( systemMenu, SC_MAXIMIZE, (style & WS_MAXIMIZEBOX) != 0 && !isMaximized );
|
||||||
setMenuItemState( systemMenu, SC_CLOSE, true );
|
setMenuItemState( systemMenu, SC_CLOSE, true );
|
||||||
|
|
||||||
// make "Close" item the default to be consistent with the system menu shown
|
// make "Close" item the default to be consistent with the system menu shown
|
||||||
|
|||||||
Reference in New Issue
Block a user