MFC应用实例:[4]不可移动的窗体

2025-10-26 23:40:28

1、新建一个单文档的MFC应用,工程命名为NoMoveWin

MFC应用实例:[4]不可移动的窗体

2、在菜单栏的“查看”中选择“建立类向导”,弹出MFC ClassWizard。在Message Maps选项卡的Class name下拉列表框中选择CmainFrame选项。

MFC应用实例:[4]不可移动的窗体

3、在Class Info选项卡的Message filter下拉列表框中选择Windows选项。

MFC应用实例:[4]不可移动的窗体

4、在Message Maps选项卡的Message列表框中选择WM_NCHITTEST选项,单击Add Function按钮

MFC应用实例:[4]不可移动的窗体

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]不可移动的窗体

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢