关于获得对话框中子控件相对该对话框客户区的位置
来源:互联网 发布:苹果微信网络连接失败 编辑:程序博客网 时间:2024/05/21 11:27
CRect rc;CWnd* pwnd = GetDlgItem(IDC_PIC);pwnd->GetClientRect(&rc);pwnd->MapWindowPoints(this,&rc);
前段时间,要实现鼠标点选指定点坐标值功能,由于MFC中鼠标事件(滑动或者单击)中,返回的point的值,其值的坐标原点是响应该事件的窗口的客户区(即不包括标题栏,也就是该对话框窗口的名字(不是ID号))
所以,子控件的位置最好也是基于同样原点。
有两种实现方式:
CRect rc;CWnd* pwnd = GetDlgItem(IDC_PIC);pwnd->GetClientRect(&rc);pwnd->MapWindowPoints(this,&rc);上述代码中,IDC_PIC是子控件的ID号,this表示转换到父窗口的坐标系(具体点就是以这个父窗口的客户区左上角为原点的坐标系)
注意这里一定要用
pwnd->GetClientRect(&rc);
方法2:
CRect rc;CWnd* pwnd = GetDlgItem(IDC_PIC);pwnd->GetWindowRect(&rc);ScreenToClient(&rc);//或者this->ScreenToClient(&rc) 其实,this表示就是当前的父窗口
ScreenToClient(&rc)表示将rc由电脑屏幕坐标系转换到窗口坐标系(具体点就是以窗口的客户区左上角为原点的坐标系)
注意:这里一定要用
pwnd->GetWindowRect(&rc);
- 关于获得对话框中子控件相对该对话框客户区的位置
- [MFC] 获得客户区在对话框上的位置
- MFC中获得对话框控件相对于父窗口的位置
- 获得控件在对话框中的位置
- MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置
- MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置
- UCGUI 控件作为对话框的客户区的子窗口
- 关于动态创建对话框控件位置的不一致问题
- MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置 及Invalidate(TRUE)的闪屏问题
- 在对话框的客户区绘制图形
- java Swing中子对话框的实现
- 将控件或对话框贴到客户区
- 关于mfc 对话框 DATETIMEPICKER控件的使用
- 对话框客户区实现拖动
- 客户区对话框拖动操作
- 关于MFC中子对话框建立并设置背景的一些记录
- 设置、获得对话框中 编辑框控件 EDIT 的内容
- 对话框程序自动调整控件大小和位置的宏
- poj 3088 DP
- 数组与指针的区别
- 请君入翁,远离Java珍爱生命!Java的低成本骗局
- Android 上百实例源码分析以及开源分析
- C#中怎么创建ACCESS数据库文件
- 关于获得对话框中子控件相对该对话框客户区的位置
- char *p = new char; 和 char *p2 = "abcdef"的区别
- V4L2编程小结
- QoS学习笔记 .
- 联想V470 ubuntu 12.04 LTS开机屏幕亮度设置
- c/c++在windows下获取时间和计算时间差的几种方法总结
- [Mule学习]入门:写一个最简单的小程序ZT
- PowerDesigner-2(业务处理模型-BPM)
- 黑马程序员-网络编程