Win32窗体属性设置,取消最大最小化按钮,禁止调整大小
使用GetWindowLong()获取窗体风格属性
(图片来源网络,侵删)
DWORD dwStyle = GetWindowLong(hwnd, GWL_STYLE);
取消风格WS_SIZEBOX
dwStyle &= ~(WS_SIZEBOX); 或者 dwStyle ^= WS_SIZEBOX;
设置风格WS_SIZEBOX
dwStyle |= WS_SIZEBOX;
使用SetWindowLong设置窗体风格属性
SetWindowLong(hwnd, GWL_STYLE, dwStyle);
取消WS_SIZEBOX属性或WS_THICKFRAME属性都可以使窗体不可调整大小
例子
DWORD dwStyle = GetWindowLong(hwnd, GWL_STYLE); dwStyle ^= WS_SIZEBOX;//设置窗体不可调整大小 SetWindowLong(hwnd, GWL_STYLE, dwStyle);
其它的属性设置
dwStyle ^= WS_MINIMIZEBOX;//设置窗体取消最小化按钮 dwStyle ^= WS_MAXIMIZEBOX;//设置窗体取消最大化按钮 dwStyle ^= WS_DLGFRAME;//设置窗体取消标题栏边框
也可以在窗体创建时设置窗体属性,与属性异或操作是取消属性,与属性或操作是添加属性
HWND hwnd = CreateWindowEx( 0, // Optional window styles. CLASS_NAME, // Window class "testwindow", // Window text WS_OVERLAPPEDWINDOW^WS_DLGFRAME,//取消标题栏 // Size and position CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, // Parent window NULL, // Menu hInstance, // Instance handle NULL // Additional application data );
对于有背景的窗体,在窗体创建结束后再取消WS_SIZEBOX属性,会导致背景图片有白色边框,而在创建窗体时取消WS_SIZEBOX属性就不会有这种情况
https://learn.microsoft.com/en-us/windows/win32/winmsg/window-styles
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。