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

时间:2026-02-16 03:06:38

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

© 2026 海能知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com