获取鼠标在Picture控件中的坐标,并显示到对话框的状态栏中
来源:互联网 发布:淘宝抢购脚本 编辑:程序博客网 时间:2024/05/02 02:29
1. 题目
获取鼠标在Picture控件中的坐标,并显示到对话框的状态栏中
2. 关键知识点
1) 对话框客户区的概念;
对话框客户区不包括状态栏。
2) ScreenToClient的作用;
ScreenToClient将获取的屏幕坐标转换成相对客户区的坐标。
3. 我的代码
- /******************************************************************
- *功能:获取鼠标在Picture控件中的坐标,并显示到对话框的状态栏中
- *
- *2010-04-10,by Li Chengyu
- ******************************************************************/
- void CGetDlgWndDlg::OnMouseMove(UINT nFlags, CPoint point)
- {
- // TODO: Add your message handler code here and/or call default
- CRect rect_ctr;
- (this->GetDlgItem(IDC_STATIC))->GetWindowRect(&rect_ctr);//获取Picture控件相对屏幕左上角的坐标,
- //存储到rect_ctr中
- // CRect rect_dlg;
- // this->GetWindowRect(&rect_dlg);//获取对话框相对屏幕左上角的坐标,存储到rect_dlg中
- //***************** test ***********************************
- //Picture控件左上角相对对话框客户区左上角的坐标
- // ScreenToClient(rect_ctr);//这里的客户区不包括对话框的状态栏
- // point.x = rect_ctr.left;//
- // point.y = rect_ctr.top;
- //***************** test ***********************************
- //对话框窗口左上角相对对话框客户区左上角的坐标
- // ScreenToClient(rect_dlg);//这里的客户区不包括对话框的状态栏
- // point.x = rect_dlg.left;
- // point.y = rect_dlg.top;
- ScreenToClient(rect_ctr);//获取Picture控件相对对话框客户区左上角的坐标
- point.x -= rect_ctr.left;//point获取的是鼠标相对对话框客户区左上角的坐标,减去rect_ctr.left和
- point.y -= rect_ctr.top;//rect_ctr.top后,即为鼠标相对Picture控件左上角的坐标
- //获取状态栏上的文字,并将鼠标的坐标显示在状态栏上
- char szString[100]={0};
- char szText[512];
- HWND hWnd = ::GetActiveWindow();
- ::GetWindowText(hWnd,szText,200);
- memset(szText+strlen(szText),' ',20);
- //如果鼠标位于Picture控件之外,在对话框状态栏上不显示其坐标
- if( point.x>(rect_ctr.right-rect_ctr.left) || point.y>(rect_ctr.bottom-rect_ctr.top )
- || point.x<0 || point.y<0 )
- ;
- else
- sprintf(szString,"(%4i,%4i)",point.x,point.y);
- //将鼠标坐标显示到对话框状态栏上
- // sprintf(szString,"(%4i,%4i)",point.x,point.y);
- strcpy(szText+20,szString);
- ::SetWindowText(hWnd,szText);
- CDialog::OnMouseMove(nFlags, point);
- }
- 获取鼠标在Picture控件中的坐标,并显示到对话框的状态栏中
- 获取鼠标在Picture控件中的坐标,并显示到对话框的状态栏中
- 获取鼠标在Picture控件中的坐标,并显示到对话框的状态栏中
- 在状态栏中显示鼠标位置坐标
- VC 获取控件在对话框中的坐标
- VC 获取控件在对话框中的坐标
- VC 获取控件在对话框中的坐标
- 实现在Picture控件中获取鼠标位置
- 实现在Picture控件中获取鼠标位置(OnMouseMove)
- 获取控件在对话框上的坐标
- MFC:在状态栏最左边显示鼠标当前的坐标
- MFC:在状态栏最左边显示鼠标当前的坐标
- 在使用Ribbon的MFC程序状态栏中显示鼠标坐标值
- 在使用Ribbon的MFC程序状态栏中显示鼠标坐标值
- vc++中获取鼠标的坐标值于状态栏中的四种方法
- 【C++ MFC+opencv】打开文件夹中的图片并在picture控件中显示
- MFC 在状态栏显示当前鼠标坐标
- 获取鼠标点击处的控件并获取其坐标
- AT命令发短信和GPRS通信
- SPSiteDataQuery详细说明
- 2013 年开发者需要了解的 10 大开发趋势和技能
- GCC 中C语言的扩展
- 关于MFC下检查和消除内存泄露的技巧
- 获取鼠标在Picture控件中的坐标,并显示到对话框的状态栏中
- C++与Flash的交互
- Mac Safari VS Mobile Safari开启的宏
- 浮点数(单精度、双精度数)的有效位
- jsj网卡的功能
- Android之SurfaceView使用总结
- Android Fragments的使用
- rpm.bin 与 .bin文件的区别
- C#调用CMD对话框并执行命令