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

原创 2011年01月14日 11:33:00

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

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

std:string格式化字符串

之前开发程序,如果需要格式化string对象,我会定义

PathFileExists用法--使用#include

BOOL PathFileExists(LPCTSTRpszPath);         Determines if a file exists. ---经检测,该函数可以检测文件或目录是否存在!Re...
  • cnki_ok
  • cnki_ok
  • 2011年05月09日 14:22
  • 5399

qt实现无标题栏透明可移动窗口

QT的常规对话框包括标题栏、图标Icon、关闭按钮,如下图所示:   在有些场景中,我们可能需要对标准对话框进行美化工作,比如,去掉标题栏和边框,并使整体表现出透明色的样子,如下图所示: ...
  • chlk118
  • chlk118
  • 2014年09月12日 21:15
  • 1967

通过在客户区拖动鼠标来移动窗口引发的一些问题

最近在研究罗云彬的win32汇编(个人觉得是本好书),GDI一章,BMP时钟,发现这样一个问题:摘录原文如下: void Cls_OnLButtonDown(HWND hwnd, BOOL fDo...

Qt去掉窗口标题栏实现移动缩放

  • 2017年10月17日 11:33
  • 1.77MB
  • 下载

【Qt】自定义标题栏并实现鼠标拖拽移动

1.Qt在windows下变成,标题栏归系统管理器管理。想要自定义就只能把原来的隐藏掉,然后自己添加组件,自己做; 2.首先设置属性,隐藏掉原来的标题栏:  /* 标题栏样式 */ ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MFC Dialog 如何屏蔽鼠标放在标题栏上移动窗口的功能
举报原因:
原因补充:

(最多只允许输入30个字)