ScreenToClient为什么转出来的坐标值会是负数

VC/MFC > 界面 [问题点数:20分,结帖人hl0702xin]
等级
本版专家分:0
结帖率 87.5%
等级
本版专家分:2564
等级
本版专家分:0
hl0702xin

等级:

MFC ScreenToClient坐标转换错误

Windows API ScreenToClient(HWND,LPPOINT),MFC封装后改成了ScreenToClient(LPOINT)、ScreenToClient(LRECT),调用ScreenToClient(LRECT)矩形区域计算错误,坑爹啊。MFC果然垃圾。

关于ScreenToClient

顾名思义:ScreenToClient也就是Screen(屏幕坐标) 到 Client(客户区坐标)的转换。也就是说这个函数可以把你在屏幕上鼠标的位置转换你打开的程序的客户区的坐标(位置)。

理解Windows坐标

设备坐标用对象距离窗口左上角的水平距离和垂直距离来指定对象的位置,是以像素单位来表示的,设备坐标的X轴向右正,Y轴向下正,坐标原点位于窗口的左上角。 屏幕上有三种不同的物理坐标,每种物理坐标是固定...

mfc控件坐标

位置的调整包括坐标、长度和宽度的变化,一般在窗口类的OnSize函数中实现。控件位置的调整涉及的函数有:GetWindowRect()、ScreenToClient()、GetClientRect()、MoveWindow()或SetWindowPos(),功能意义如下: ...

VC ScreenToClient与ClientToScreen

The ClientToScreen function replaces the client-area coordinates in the POINT structure with the screen coordinates. The screen coordinates are relative to the upper-left corner of the screen....

windows api 通过句柄获取控件在窗口的坐标问题?

问题1:该方法有时获去到的负数 ? 求解答? ScreenToClient(hWnd, ref xx); 问题2:该方法获取到的 一直是0 //结构体布局 本机位置 [StructLayout(LayoutKind.Sequential)] public...

设备坐标(DP)、客户坐标(Client)、逻辑坐标(LP)

设备坐标(DP)、客户坐标(Client)、逻辑坐标(LP)  1.逻辑坐标 逻辑坐标是独立于设备的,它与设备点的大小无关。使用逻辑单位,是实现"所见即所得"的基础。当程序员在调用一个画线的GDI函数LineTo,画...

逻辑坐标,设备坐标,窗口,视口

1.画图在逻辑坐标中画,使用逻辑单位,显示图形在物理坐标中显示   2.屏幕上有三种不同的物理坐标,每种物理坐标是固定死的,原点,XY轴方向都不变  1、客户区域坐标,包括应用程序的客户区域,客户区域...

WINDOWS窗口坐标

窗口Border属性 Thin, Resizing时,有3个像素宽的边框。 系统区:窗口上部蓝色部分,有最大最小关闭按钮的那一个部分。 客户区:除去外部边框和系统区的部分。系统区有统一的机制处理,客户区  是由客户...

设备坐标(DP)、客户坐标(Client)、逻辑坐标(LP)在用法和含义上都有哪些区别呢?

1.逻辑坐标 逻辑坐标是独立于设备的,它与设备点的大小无关。使用逻辑单位,是实现"所见即所得"的基础。当程序员在调用一个画线的GDI函数LineTo,画出25.4mm(1英寸) 长的线时,他并不需要考虑输出的是何种设备。若...

GetWindowRect和GetClientRect(

 GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,因为这个矩阵是在客户区坐标系下(相对于窗口客户区的左上角)的。   ClientToS

GetPixel出现的问题。

HDC hDC = ::GetDC(NULL)是对的,但我想得到的是浏览器控件(控件名m__map)上的坐标以及像素,而不是屏幕上的,怎么办 POINT p; GetCursorPos(&p); ::ScreenToClient(m_map.m_hWnd, &p); ...

关于WIN32 窗口信息的各种获取

首先拦截WM_LBUTTONDOWN消息,然后再用下面方法获取鼠标位置 方法一:(不建议使用) 在使用win32的一些特殊宏时,有必要注意一下宏的定义,例如: #define MAKEWORD(a, b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff)...

图像处理之-位图(未完待續)

图像处理之-位图 MD DoCumEnT: 3/16/2016 5:59:48 PM by Jimbowhy 自从发现MarkdownPad以后,就沉迷于写作,从未有过这样的浸淫,完全没有了生物钟的同期,基本上只要醒着,手眼就离不了屏幕,离不了键盘,一直敲着...

MFC映射

这样可能造成很多混乱,所以CDC输出对所有物理平面进行统一抽象化为“逻辑平面”。所有CDC输出函数都是在逻辑平面输出。物理平面在CDC又称为设备平面。 所有CDC输出函数最终都是输出“点”。GDI使用坐标来抽象化...

C#中调用WIN32API函数

http://www.pinvoke.net/   磐实文章站(首页)首页 >Visual Basic软件开发资料 > API 函数 http://www.panshsoft.com/Sort_VB/API_fun/   GetWindowRect用法 ... 函数功能:该函数返

Delphi 常用控件之TlistView总结

TlistView组件功能: (1) TListView 控件可以用来显示各项带图标的列表,包括大图标和小图标的;也可以用来显示带有子项的列表,Windows操作系统的资源管理器中文件夹窗口就是最好的应用例子,就是我们打开"我的...

GetClientRect()和GetWindowRect()

GetClientRect() 是得到客户区坐标系下客户区的RECT GetWindowRect()是得到屏幕坐标系下整个窗口的RECT GetSystemMetrics()是获得屏幕分辨率大小  根据不同参数:  int width = GetSystemMetrics ( SM_...

VB游戏外挂编程入门(

VB游戏外挂编程入门() 本帖网上收集整理,虽说介绍的是用VB做游戏外挂的知识,但其中的编程技术和技巧感觉相当不错,所以特别帖在这里。 1.查找目标窗口.需要做外挂,就需要查找目标窗口.然后才做一些其他的...

图像处理之-位图

图像处理之-位图 MD DoCumEnT: 3/16/2016 5:59:48 PM by Jimbowhy 自从发现MarkdownPad以后,就沉迷于写作,从未有过这样的浸淫,完全没有了生物钟的同期,基本上只要醒着,手眼就离不了屏幕,离不了键盘,一直敲...

基于对话框的MFC应用程序GetWindowRect(),GetClientRect()探究

先建一个基于对话框的MFC应用程序,在对话框上放置一个静态文本控件m_plot 用m_rectOldWindow变量保存对话框RECT,用m_rectOldPlotWindow保存静态文本控件RECT ... ScreenToClient(&m_rect...

基于对话框GetWindowRect(),GetClientRect()

先建一个基于对话框的MFC应用程序,在对话框上放置一个静态文本控件m_plot 用m_rectOldWindow变量保存对话框RECT,用m_rectOldPlotWindow保存静态文本控件RECT 在OnInitDialog()添加... ScreenToClient(&m_rectOldW

7.3 非客户区鼠标消息

如果鼠标位于窗口内部除客户区外的其他区域,Windows 就向窗口过程发送一个“非客户区”鼠标消息。窗口的非客户区包括标题栏、菜单和窗口滚动条。  系统一般不需要用户处理非客户区鼠标消息。取而

相关热词 c#绘制图形时界面闪烁 c# emgucv 行人 c# datable合并 c# if折叠 c# 设置全局锁 c# 如何定义全局变量 c# 获取剪切板内容 c#推箱子重新开始 c# 读取接口数据 c#配置 mysql