Index: ui/views/widget/widget_hwnd_utils.cc |
diff --git a/ui/views/widget/widget_hwnd_utils.cc b/ui/views/widget/widget_hwnd_utils.cc |
index ac313bb74c89967a7578605bf0e9eda80330d020..f4a50dff2e06af867f4d43100e61501af04cd30a 100644 |
--- a/ui/views/widget/widget_hwnd_utils.cc |
+++ b/ui/views/widget/widget_hwnd_utils.cc |
@@ -81,14 +81,17 @@ void CalculateWindowStylesFromInitParams( |
} |
// Else, no break. Fall through to TYPE_WINDOW. |
case Widget::InitParams::TYPE_WINDOW: { |
- *style |= WS_SYSMENU | WS_CAPTION; |
- bool can_resize = widget_delegate->CanResize(); |
- bool can_maximize = widget_delegate->CanMaximize(); |
- if (can_maximize) { |
- *style |= WS_OVERLAPPEDWINDOW; |
- } else if (can_resize || params.remove_standard_frame) { |
- *style |= WS_OVERLAPPED | WS_THICKFRAME; |
- } |
+ // WS_OVERLAPPEDWINDOW is equivalent to: |
+ // WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | |
+ // WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX |
+ *style |= WS_OVERLAPPEDWINDOW; |
+ if (!widget_delegate->CanMaximize()) |
+ *style &= ~(WS_MINIMIZEBOX | WS_MAXIMIZEBOX); |
sky
2014/09/18 14:27:09
Why remove the minimize button if the window can't
jackhou1
2014/09/18 23:28:35
Hah, I was hoping you would know. There's this bug
|
+ if (!widget_delegate->CanResize()) |
+ *style &= ~(WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX); |
+ if (params.remove_standard_frame) |
+ *style &= ~(WS_MINIMIZEBOX | WS_MAXIMIZEBOX); |
+ |
if (native_widget_delegate->IsDialogBox()) { |
*style |= DS_MODALFRAME; |
// NOTE: Turning this off means we lose the close button, which is bad. |