MFC应用实例:[4]不可移动的窗体
1、新建一个单文档的MFC应用,工程命名为NoMoveWin
![MFC应用实例:[4]不可移动的窗体](https://exp-picture.cdn.bcebos.com/65ba880b31210561bd58a45a08aee8d7582a6a53.jpg)
2、在菜单栏的“查看”中选择“建立类向导”,弹出MFC ClassWizard。在Message Maps选项卡的Class name下拉列表框中选择CmainFrame选项。
![MFC应用实例:[4]不可移动的窗体](https://exp-picture.cdn.bcebos.com/82eff6d7592ae3ef5f83e58254b6326c56666453.jpg)
3、在Class Info选项卡的Message filter下拉列表框中选择Windows选项。
![MFC应用实例:[4]不可移动的窗体](https://exp-picture.cdn.bcebos.com/1570c1b6326c57665d34f3e0a4632385e1366153.jpg)
4、在Message Maps选项卡的Message列表框中选择WM_NCHITTEST选项,单击Add Function按钮
![MFC应用实例:[4]不可移动的窗体](https://exp-picture.cdn.bcebos.com/2e223d85e036e2918d13c253b2723d03baea5b53.jpg)
5、在新添加的函数OnNcHitTest()中写入一下代码:
UINT CMainFrame::OnNcHitTest(CPoint point)
{
// TODO: Add your message handler code here and/or call default
// 截获鼠标事件
UINT returnValue = CFrameWnd::OnNcHitTest(point);
// 判断是否在拖动窗体的工具栏
if(returnValue == HTCAPTION)
{
// 如果是拖动工具栏则截获后不传递消息
return FALSE;
}
else
{
// 否则直接传递消息
return returnValue;
}
}
![MFC应用实例:[4]不可移动的窗体](https://exp-picture.cdn.bcebos.com/32a127723d03bbeaf17dc1fbea43d7d449315453.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:48
阅读量:169
阅读量:23
阅读量:80
阅读量:70