开发者

C++ Windows remove maximize box

I'm using these window styles when calling CreateWindow

WS_OVERLAPPED | W开发者_开发问答S_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX

This disables the maximize box, but is there any way I can completely remove it?


No easy way, but if you are going to draw the title bar yourself - in this case you can do it.

To give you an idea, this article Adding a 'Minimize to tray'-button to a Form's caption bar explains how to add a button. Removing standard button is about the same - customization of non-client area.


This will remove the close, minimize and maximize buttons from a Windows 7 panel I realize this is very (very) late in coming, but posted it here as it may help someone else with same problem.

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);  
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜