今天在做MFC程序的时候,需要实现在指定的控件(picture控件)内来回移动画好的3D模型的功能。

经过搜集资料,整理如下

功能实现如下代码:

方法一:在鼠标移动响应函数(OnMouseMove)中判断鼠标是否在控件区域

void CcamDlg::OnMouseMove(UINT nFlags, ::CPoint point)      //鼠标移动
{::CPoint point1;CRect pRect;GetClientRect(pRect);//获取屏幕的矩形大小//先获取鼠标相对于屏幕的坐标GetCursorPos(&point1);//之后把当前鼠标在屏幕上的坐标转化为相对于窗体rect的坐标ScreenToClient(&point1);CRect rect;GetDlgItem(IDC_STATIC_OCC)->GetWindowRect(&rect);//获得指定控件的矩形大小ScreenToClient(&rect);//最后把当前鼠标在窗体上的坐标转化为相对于控件rect的坐标if (rect.PtInRect(point1))//判断鼠标光标是否在指定控件区域内{//此处写你需要在指定的控件内进行的操作}else{//此处写你需要不在指定的控件内进行的操作}}

方法二:获取控件区域,判断鼠标当前点是否在控件区域内

WINDOWPLACEMENT wp;
RECT rect;
GetDlgItem(IDC_LIST1)->GetWindowPlacement(&wp);  //client坐标系
rect = wp.rcNormalPosition;
if (point.x > rect.left && point.x < rect.right&& point.y> rect.top && point.y < rect.bottom)
{//do something
}

MFC在指定控件区域内进行一些操作相关推荐

  1. MFC中如何将焦点设置到指定控件上

    在最近的项目中,需要实现刷卡功能,其原理就是响应WM_KEYDOWN和WM_CHAR等键盘消息,需要重写BOOL PreTranslateMessage(MSG* pMsg)函数来处理键盘消息:软件启 ...

  2. MFC的图片控件的使用(图片适应控件大小并不失真)

    MFC的图片控件的使用 建立一个基于对话框的MFC  如图 ,为新建MFC的窗口 接下来添加图片控件(如果添加全部背景则不需要添加图片控件,直接进行消息响应函数的添加即可)       添加图片控件 ...

  3. VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

    VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程 开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件.(此文章也是 ...

  4. MFC动态创建控件并响应事件代码实现过程

    MFC动态创建控件以及响应动态创建的控件的事件的实现方法如下. 1.创建对象     用new进行动态创建一个对象.然后调用Create函数创建窗口,在函数的父窗口参数中传入this或者用AfxGet ...

  5. MFC中常见控件的操作

    1.下面的代码用于获取屏幕的长度和宽度  int iWidth = GetSystemMetrics(SM_CXSCREEN); // int iHeight = GetSystemMetrics(S ...

  6. 基于MFC的ActiveX控件开发

    转自:http://www.cnblogs.com/lidabo/archive/2012/12/04/2800921.html ActiveX 控件是基于组件对象模型 (COM) 的可重用软件组件, ...

  7. MFC组合框控件总结及用法示例

    Combo Box (组合框)控件很简单,可以节省空间.从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的.用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本 ...

  8. MFC之ComboBox控件用法

    本文以实例形式较为详细的讲述了MFC中ComboBox控件的用法.分享给大家供大家参考之用.具体方法如下: 一.ComboBox简介: ComboBox控件是由一个文本输入控件和一个下拉菜单组成的.用 ...

  9. MFC中的控件是怎么实现的呢?一个按钮就是一个窗口?还是所有按钮画在一个分层窗口上再叠

    请教一下MFC中的控件是怎么实现的呢(通过调用什么样的API,传递什么参数)?一个按钮就是一个窗口?还是所有按钮画在一个分层窗口上再叠在主窗口上?还是直接在主窗口上画图? 我想到的是: JavaScr ...

  10. MFC如何使控件大小随着对话框大小自动调整

    MFC如何使控件大小随着对话框大小自动调整 2012-04-27 16:24:50|  分类: MFC |  标签: |字号大中小 订阅 对话框的大小变化后,假若对话框上的控件大小不变化,看起来会比较 ...

最新文章

  1. Xamarin XAML语言教程模板视图TemplatedView(一)
  2. 寒假每日一题(入门组)【week3 完结】
  3. ubuntu 14.04 ssh
  4. java Statement与preparedStatement的区别
  5. python填空题及答案知乎_GitHub - HSINAN/zhihu-python: 获取知乎内容信息,包括问题,答案,用户,收藏夹信息...
  6. openstack horizon dashboard_陕西高校邦OpenStack云平台实践章节答案
  7. windows10杀死本地进程
  8. process id linux,userdel:user* is currently used by process id
  9. java本学期期末学员,本学期期末学员共参加了3门课的考试,即Java,C,SQL,编写方法计算每位学员3门课的平均分,...
  10. 鼠标移动让图片倾斜45度
  11. markdown 做图 : Mermaid语法
  12. 短波红外成像技术与原理
  13. 如何在cmd命令行窗口打开QQ
  14. Servlet 3.0之Part对象(文件上传)
  15. 百度云盘试用时间本地CE修改
  16. 轻松上手 | 使用国内资源安装 K3s 全攻略
  17. C语言DNA序列的编码,DNA (C语言代码)
  18. python单例模式的4种实现方法_Python单例模式的4种实现
  19. 苹果IOS端游戏试玩操作方法和攻略
  20. 利用 Python 去除 PDF 水印(和图片水印原理一样)

热门文章

  1. python优点和特点-Python的优点和缺点有哪些?Python语言的特点
  2. 为什么在java中不能创建泛型数组
  3. java编程显当前月示日历表_显示当前月的日历 1(java实现)
  4. 《大话数据结构》学习笔记
  5. go channel
  6. vscode开发ExtJs安装插件以及破解方法
  7. 12月22号至27号进度报告
  8. Python 中的 classmethod 和 staticmethod 有什么具体用途?
  9. iOS 版本更新迭代
  10. HDU 5634 Rikka with Phi