HTRIGHT,
HTLEFT,
HT,
HTBOTTOM
四个值之一,如果是,说明用户此时已点击了四个边框之一,此时我们应该返回HTCLIENT.那么,鼠标的形状就不会变成水平或垂直的双向箭头,用户就不可能依靠拖动边框来改变窗口大小了。
用class wizard看了以下,没有找到WM_NCHITTEST这个消息,只能手动添加消息映射了 。
在BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)下添上
ON_WM_NCHITTEST()
在框架类的头文件下
声明
afx_msg LRESULT OnNcHitTest(CPoint point);
实现
LRESULT CMainFrame::OnNcHitTest(CPoint point)
{
if(CWnd::OnNcHitTest(point) == HTRIGHT || CWnd::OnNcHitTest(point) == HTLEFT || CWnd::OnNcHitTest(point) == HT || CWnd::OnNcHitTest(point) == HTBOTTOM)
return HTCLIENT;
return CWnd::OnNcHitTest(point);
}
这样的话就不能用鼠标改变大小了,但是,只是限制了四条边,虽然不能拖拉四条边了,但是四个角。因此,再加上
HTLEFT
HTRIGHT
HTBOTTOMLEFT
HTBOTTOMRIGHT
这样4边+4角都不行了。呵呵
不过,还缺一点点 ,缺什么
考试大提示: 双击窗口最上方也就是caption区域时窗口会变小,而且没办法回复怎么办??
examda编者荐:在OnCreate函数中加入如下代码:
SetWindowLong(m_hWnd,GWL_STYLE,GetWindowLong(m_hWnd,GWL_STYLE)&~WS_MAXIMIZEBOX);
这样化按钮也不能用了,而且双击标题栏也不会化了。
本文来自 280文秘网(https://www.it280.com),转载请保留网址和出处
【vc++中限制窗口大小的方法】相关文章:
2025年外省高中学业水平合格性考试成绩转入江苏认定的通告公布05-07
2012宁夏高考报名方式05-07
Vb中控件的自动排列05-07
写未来的作文300字05-07
Our Mother Is the Same 我们的妈妈是一样的05-07
中国大地保险公司实习报告05-07
小学父爱的作文600字05-07
2018国家电网新大纲财会类市场模拟卷多选题(二)05-07
广西壮族自治区财政厅会计继续教育报名登录入口:https://czt.gxzf.gov.cn/kjgl/05-07
07年4月北师大“中国古代文学史(一)”串讲(5)05-07
云南师范大学2025年硕士研究生报名公告05-07
