C ++ Windows удалить максимизировать - PullRequest
5 голосов
/ 28 сентября 2011

Я использую эти стили окон при вызове CreateWindow
WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX
Это отключает окно максимизации, но есть ли способ, которым я могу полностью удалить его?

Ответы [ 2 ]

2 голосов
/ 28 сентября 2011

Не простой способ, но если вы собираетесь нарисовать строку заголовка самостоятельно - в этом случае вы можете сделать это.

Чтобы дать вам представление, эта статья Добавление кнопки «Свернуть в трей» к строке заголовка формы объясняет, как добавить кнопку.Удаление стандартной кнопки примерно одинаково - настройка non-client area.

1 голос
/ 21 ноября 2013

Это уберет кнопки закрытия, сворачивания и максимизации с панели Windows 7 Я понимаю, что это очень (очень) поздно, , но опубликованоэто здесь, поскольку это может помочь кому-то еще с той же проблемой.

void ClearButtons(void)
{
    int index = WS_BORDER;
    unsigned int a = (unsigned int)((WS_BORDER | WS_CAPTION) & (~WS_ICONIC));

    LONG_PTR lPtr;
    HWND hWnd = GetActiveWindow();
    lPtr = GetWindowLongPtr(hWnd, index); 
    SetWindowLongPtr(hWnd, GWL_STYLE, a);  
}
...