MFC Dialog 如何屏蔽鼠标放在标题栏上移动窗口的功能

之前在做一个MFC下的dialog程式,要求主窗口置顶,全屏,并且鼠标放在标题栏上,主窗口不能被移动;

1.主窗口置顶,可以在dialog属性里面把Topmost选为true。

2.全屏,可以在dialog初始化的时候调用ShowWindow(SW_MAXIMIZE)来实现。

3.鼠标放在标题栏上,主窗口不能被移动,这个就有点难度了

首先你要在Message里面创建处理WM_NCHITTEST的消息,再在它的响应函数里面修改函数,具体修改如下:

LRESULT CXXDlg::OnNcHitTest(CPoint point)
{
        // TODO: Add your message handler code here and/or call default
        if((CDialogEx::OnNcHitTest(point))==2) //鼠标此刻的位置在标题栏上
        {
              return 0; //屏蔽移动功能
        }
        else {
              return CDialogEx::OnNcHitTest(point);
        }
}

这样就可以实现上面的三个功能了!

阅读更多
文章标签: dialog mfc
上一篇MFC Dialog 屏蔽Enter和Esc按下时自动退出程序
下一篇MFC中隐藏、显示菜单栏
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭