MFC任意位置实现窗口拖动
2015-07-02 18:17
393 查看
如果应用程序自己绘制的界面没有标题栏,那我们怎么来拖动界面呢?
当鼠标在窗口内移动,点击或者释放时都会产生WM_NCHITTEST消息,响应函数OnNcHitTest会返回一个枚举值,mfc会根据这个枚举值进行相应的处理。 当返回值为HTCAPTION时,MFC会认为此时鼠标位于标题栏上,因而当鼠标按下并移动时就会执行拖动操作。我们需要做的就是响应这个消息,然后根据自己的需要,返回HTCAPTION参数即可!如下图所示:
这个代码实现的功能就是只要鼠标的点击点位于客户端内,就返回一个HTCAPTION参数,然后系统就会以为你在拖到标题栏,从而实现界面的拖动。 当然我们可以根据得到的point与客户端的坐标的关系来达到各种拖动效果,比如:
相关文章推荐
- Visual C++中MFC消息的分类
- MFC中Radio Button的用法详解
- MFC创建右键弹出菜单的方法
- MFC中动态创建控件以及事件响应实现方法
- C++ 关于MFC多线程编程的注意事项
- MFC程序对文件的处理方法
- MFC自定义消息的实现方法
- MFC之ComboBox控件用法实例教程
- MFC绘制不规则窗体的方法
- IE8引发 VS2005/2008 MFC向导出错的解决方案
- MFC实现全屏功能代码实例
- 使用VS2010创建MFC ActiveX工程项目
- C++中MFC Tab Control控件的使用详解
- MFC程序设计常用技巧汇总
- MFC扩展DLL中导出类和对话框的实现方法
- VC中SDK与MFC的区别浅析
- 浅谈MFC 改变控件大小和位置
- VC MFC非模态对话框的实现方法
- MFC程序执行过程深入剖析
- C和MFC巧妙获取外网IP的两种实现方法