Win32窗体属性设置,取消最大最小化按钮,禁止调整大小

03-01 1022阅读

使用GetWindowLong()获取窗体风格属性

Win32窗体属性设置,取消最大最小化按钮,禁止调整大小
(图片来源网络,侵删)
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

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]