做网站需要什么技术员,郑州平台类网站,建网站公司要钱吗,宝山网站建设宝山From: http://www.cnblogs.com/yongtaiyu/archive/2011/05/18/2049554.html GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标#xff08;包括客户区和非客户区#xff09;#xff0c;这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。 GetClientRect取得窗口客户区(…From: http://www.cnblogs.com/yongtaiyu/archive/2011/05/18/2049554.html GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标包括客户区和非客户区这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。 GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小而不能得到相对屏幕的位置因为这个矩阵是在客户区坐标系下相对于窗口客户区的左上角的。 用GetClientRect返回的RECT结构上左为零, 右下分别对应客户区的宽度和高度; ScreenToClient把屏幕坐标系下的RECT坐标转换为客户区坐标系下的RECT坐标. 我们对同一个窗口先GetWindowRect取得一个RECT再用ScreenToClient转换到客户坐标系。 然后GetClientRect取得一个RECT再用ClientToScreen转换到屏幕坐标系。 显然GetWindowRect取得的矩阵不小于GetClientRect取得的矩阵。因为前者包含了非客户区而后包括了客户区。 对GetWindowRect取得的矩阵ScreenToClient后矩阵的大小没有变小left,top是窗口的左上角的坐标相对窗口客户区左上角。 对GetClientRect取得的矩阵ClientToScreen后矩阵的大小也没有变大新得到的矩阵是窗口客户区在屏幕坐标系上的RECT。 二、 GetWindowRect 获取的是整个window 的rect 包括标题栏 之类的周边. 而且是屏幕坐标 GetClientRect 获取的是客户区 建立一个单文档程序运行起来后。你看到window 中白色的区域就是客户区. 而且是客户坐标. ScreenToClient 这个则是把屏幕坐标转换成客户坐标. 比如 你的屏幕是1000*1000 大小 你在100*100 的地方创建了一个 200*200 窗口 那么你用GetWindowRect 取得的RECT 就应该是 top100,left100,right300,bottom300. 假如这个窗口标题栏高 10 那么 用GetClientRect 取得的RECT就应该是 top0,left0,right200,bottom190。 现在你在这个窗口上单击了一下, 假如是屏幕是的 x200,y200 那么 你用ScreenToClient转换后相对这个窗口而言x,y 就会变为 x100, y100