C+++OnNcHitTest无法禁止移动窗口

用的VS2010 OnNcHitTest是无法屏蔽标题栏的鼠标消息的
LRESULT My_Dlg::OnNcHitTest(CPoint point)
{
// // TODO: 在此添加消息处理程序代码和/或调用默认值
UINT nFlags= CDialogEx::OnNcHitTest(point); //调用基类的OnNcHitTest获得返回值

if(nFlags==HTCAPTION) 
    return FALSE;
return nFlags;

}
其实这个是没启作用的 照样移动窗口
中国程序员就是照抄 看到别人写的就去复制粘贴 自己也不验证 给你提供一个简单的方法 用来无法拖动窗口
此函数在产生的主中由系统自己生产的一个系统消息响应函数
void My_Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
/************************************************/
//禁止移动窗口
if((nID & 0xFFF0) == SC_MOVE)

{

return;

}

/************************************************/
CDialogEx::OnSysCommand(nID, lParam);
}
}

加上中间那部分就OK啦 希望大家不要纠结了 ,如果需要屏蔽更多的消息 就重载Pretranslatemsg
这个函数去详细的处理吧

本来就是吃掉syscommand消息。你的问题是什么

在类向导里重载WM_NCLBUTTONDOWN,再删除默认处理就可以禁止窗口移动了。