我将以下样式应用于我的窗口,我可以调整预期的值(WS_CAPTION,WS_VISIBLE,WS_CLIPSIBLINGS,WS_CLIPCHILDREN,WS_SYSMENU,WS_THICKFRAME,WS_OVERLAPPED,WS_MAXIMIZEBOX,WS_MINIMIZEBOX)。我的目标是删除WS_SYSMENU并禁用调整大小。
然后我删除WS_THICKFRAME并按预期禁用窗口大小调整。然后我还必须删除WS_SYSMENU,但窗口大小调整会返回。
我的最后一组样式是(WS_CAPTION,WS_VISIBLE,WS_CLIPSIBLINGS,WS_CLIPCHILDREN,WS_OVERLAPPED,WS_MAXIMIZEBOX,WS_MINIMIZEBOX)。
有人知道为什么会这样吗?
答案 0 :(得分:0)
在正常的win32窗口上对我工作正常:
SetWindowLong(hWnd, GWL_STYLE, WS_CAPTION|WS_VISIBLE|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_OVERLAPPED|WS_MAXIMIZEBOX|WS_MINIMIZEBOX);
SetWindowPos(hWnd, 0, 0, 0, 0, 0, SWP_NOZORDER|SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE|SWP_FRAMECHANGED);
最终样式为0x16C30000和0x00000100。
当您想要删除大小调整边框时,添加WS_POPUP
通常会有所帮助。