文档详情

VC实现鼠标移动对话框窗口.doc

发布:2017-05-28约小于1千字共6页下载文档
文本预览下载声明
计算机系列教学文档 ------VC实现鼠标移动对话框窗口 文件状态: [ ] 草稿 [√] 正式发布 当前版本: V1.0 作 者: 李星华 完成日期: 2014-11-02 个人博客: lixh.org VC实现鼠标移动对话框窗口 本实例主要实现了通过鼠标的移动,来实现窗口的同步移动。即鼠标左键按下后并对鼠标进行移动,从而窗口跟随鼠标移动,直到鼠标左键抬起,其具体思路 是重载“WM_NCHITTEST”消息,在生成的“OnNcHitTest”函数中添加鼠标移动时窗口随之移动的代码,具体实现步骤如下: 在所要移动的窗口类上面,点击鼠标右键,选择“Add Windows Message Handler…”如图所示: ? 在弹出的窗口中选择“WM_NCHITTEST”消息,如下图所示: 此时双击“WM_NCHITTEST”消息,或点击“AddHandler”接钮,添加到已经存在的消息列表中,如下图所示: 如果“WM_NCHITTEST”消息已经成功加入列已经存在的消息列表中,则点击“Add and Edit”按钮,如下图所示: 此时系统会自动生成对“WM_NCHITTEST”消息的映射函数(函数名为:OnNcHitTest),如下图所示: ? 最后,在刚刚生成的OnNcHitTest函数中添加窗口的移动代码,代码如下所示: ? UINT CJaneDictDlg::OnNcHitTest(CPoint point) { ????// TODO: Add your message handler code here and/or call default ????// 父类窗口的调用,获取鼠标点击的状态 ????UINT uHitTest = CDialog::OnNcHitTest(point); ????// 判断是否为当前窗口的客户区,如果窗口无标题直接返回HTCAPTION即可。 ????return (uHitTest == HTCLIENT) ? HTCAPTION : uHitTest; ???return CDialog::OnNcHitTest(point); } 至此,窗口的移动已经实现。 系列文档-技术文档 1 / 6 作者:lixh
显示全部
相似文档