我的基于对话框的mfc应用程序,

来源:百度知道 编辑:UC知道 时间:2024/06/26 03:51:01
设置了初始对话框大小长500,高800,然后用MessageBox输出对话框坐标(已经用ScreenToClient(&rectLarge);),怎么会有负数呢,然后用MessageBox输出对话框坐标(已经用ScreenToClient(&rectLarge);),怎么会有负数呢
-3,-25,497,775,
怎么会这样呢,既然已经屏幕转客户区了,那么这里的客户区是什么啊,难道不应该是0,0,500,800吗

ScreenToClient是将屏幕上点的坐标(绝对坐标)转换成软件中的客户区坐标(相对坐标)

不知道你的rectLarge在使用ScreenToClient之前是什么值,是(0,0,500,800)吗?如果是这个值,那么(0,0)是屏幕左上角的坐标,它相对于你的软件的客户区的左上角的偏移当然就是负的了。