解决Duilib创建的win32窗口拖到屏幕上边缘自动最大化

时间:2023-03-09 02:12:21
解决Duilib创建的win32窗口拖到屏幕上边缘自动最大化

转载:http://bbs.csdn.net/topics/390842294

使用Duilib创建窗口的时候,假如有这样一个需求:

1.窗口大小规定

2.不可拖拽改变窗口大小

3.双击标题栏禁止最大化

4.禁止拖拽窗口到屏幕上边沿最大化

解决Duilib创建的win32窗口拖到屏幕上边缘自动最大化

针对以上四点,给出解决办法:

1.设置size="宽,高"

2.sizebox="0,0,0,0"

3.在HandleMessage中屏蔽掉WM_NCLBUTTONDBLCLK

 case WM_NCLBUTTONDBLCLK:
//不做处理
{
return ;
}
break;

4.要修改窗口风格

//修改窗口风格
SetWindowLong(m_hWnd,GWL_STYLE,GetWindowLong(m_hWnd,GWL_STYLE) & ~WS_MAXIMIZEBOX & ~WS_THICKFRAME );

设置完成后:

解决Duilib创建的win32窗口拖到屏幕上边缘自动最大化