光标点击客户区的工具栏的左下角的光标位置//不试不知道,一试吓一跳
光标点击客户区的工具栏的左上角的光标位置//不试不知道,一试吓一跳
分辨率是1440*900的
CRect rect
GetClientRect(rect)//Height()==592
------解决方案--------------------
LZ没明白ScreenToClient()函数作用吗?未用此函数是得到的光标坐标c{x=469 y=218} 是屏幕坐标,是在整个屏幕的物理坐标,范围只能是 c{x=0,y=0}到 c{x=1440, y=900}。
用了ScreenToClient()得到的是当前窗口的坐标,即c{x=1036 y=322} ,这个坐标没有范围,因为窗口可能有滚动条。
------解决方案--------------------
GetClientRect要看你当前视图对象的得出的Rect
------解决方案--------------------
不看代码不知道,一看吓一跳
分辨率是1440*900的
CRect rect
GetClientRect(rect)//Height()==592
POINT c;
GetCursorPos(&c);
CRect rect;
GetClientRect(&rect);
ScreenToClient(&c);
c.x;
c.y;
c{x=1036 y=322}
//注释掉ScreenToClient(&c);,是下面的坐标。
c{x=469 y=218}
------解决方案--------------------
LZ没明白ScreenToClient()函数作用吗?未用此函数是得到的光标坐标c{x=469 y=218} 是屏幕坐标,是在整个屏幕的物理坐标,范围只能是 c{x=0,y=0}到 c{x=1440, y=900}。
用了ScreenToClient()得到的是当前窗口的坐标,即c{x=1036 y=322} ,这个坐标没有范围,因为窗口可能有滚动条。
------解决方案--------------------
GetClientRect要看你当前视图对象的得出的Rect
------解决方案--------------------
不看代码不知道,一看吓一跳