请教,用C++写的Win32应用程序,如何固定窗口位置和大小,就是不可拖动,也不能改变大小
请教大牛,用C++写的Win32应用程序,如何固定窗口位置和大小,就是不可拖动,也不能改变大小,(注意)鼠标左键按关闭键还是可以关闭程序的。求详解,稍微写点代码,谢谢了编...
请教大牛,用C++写的Win32应用程序,如何固定窗口位置和大小,就是不可拖动,也不能改变大小,(注意)鼠标左键按 关闭键 还是可以关闭程序的。求详解,稍微写点代码,谢谢了
编译器是VC 展开
编译器是VC 展开
2个回答
展开全部
不可拖动, 可以去掉标题栏,即去掉WS_CAPTION风格
不能改变大小,可以去掉WS_THICKFRAME,即WS_SIZEBOX风格
如果以上方法不能满足你的要求,你还可以处理WM_NCHITTEST消息:
case WM_NCHITTEST:
{
LRESULT res = DefWindowProc(hwnd, uMsg, wParam, lParam);
if (res == HTCAPTION || (res >= HTLEFT && res < HTBORDER))
return HTCLIENT;
}
还可以处理WM_NCLBUTTONDOWN消息:
case WM_NCLBUTTONDOWN:
if (wParam == HTCAPTION || (wParam >= HTLEFT && wParam < HTBORDER))
return 0;
要不能改变大小,最好还是去掉WS_THICKFRAME风格,然后这样处理WM_NCLBUTTONDOWN就行了:
case WM_NCLBUTTONDOWN:
if (wParam == HTCAPTION)
return 0;
不能改变大小,可以去掉WS_THICKFRAME,即WS_SIZEBOX风格
如果以上方法不能满足你的要求,你还可以处理WM_NCHITTEST消息:
case WM_NCHITTEST:
{
LRESULT res = DefWindowProc(hwnd, uMsg, wParam, lParam);
if (res == HTCAPTION || (res >= HTLEFT && res < HTBORDER))
return HTCLIENT;
}
还可以处理WM_NCLBUTTONDOWN消息:
case WM_NCLBUTTONDOWN:
if (wParam == HTCAPTION || (wParam >= HTLEFT && wParam < HTBORDER))
return 0;
要不能改变大小,最好还是去掉WS_THICKFRAME风格,然后这样处理WM_NCLBUTTONDOWN就行了:
case WM_NCLBUTTONDOWN:
if (wParam == HTCAPTION)
return 0;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的编译器是用VC还是用VS?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询