关闭

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

标签: dialogmfc
2074人阅读 评论(1) 收藏 举报

之前在做一个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);
        }
}

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:83611次
    • 积分:1052
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:26篇
    • 译文:0篇
    • 评论:17条
    最新评论