第二个GetClientRect得到的是客户区的大小,因为不包含窗口周边的蓝色区域,所以比第一个的窗口大小要小。 然后ClientToScreen,这个就很好解释了,计算相对于窗口左上角的坐标。你可以自己动手算一下。 (2)控件的程序运行结果: 控件: GetClientRect: +&ctrlRect10x0017f3e0 {top=0 bottom=170 left=0 right=285} ...
GetWindowRect()得到的是在屏幕坐标系下的RECT(即以屏幕左上角为原点) GetClientRect()得到的是在客户区坐标系下的RECT(即以所在窗口,去掉了标题栏,左右下边框等之后的左上角为原点,仅仅是个大小,返回值的左上角永远为0,0) ScreenToClient()就是把屏幕坐标系下的RECT坐标转换为客户区坐标系下的RECT坐标。Client...
GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,因为这个矩阵是在客户区坐标系下(相对于窗口客...
GetWindowRect() 得到的是在屏幕坐标系下的RECT;(即以屏幕左上角为原点) GetClientRect() 得到的是在客户区坐标系下的RECT; (即以所在窗口左上角为原点)GetWindowRect()取的是整个窗口的矩形; GetClientRect()取的仅是客户区的矩形,也就是说不包括标题栏,外框等.
GetWindowRect得到的是屏幕坐标和GetClientRect得到的是客户区坐标。
GetWindowRect得到的是整个参考的屏幕矩形区域,坐标是屏幕坐标,GetClientRect的到的是窗口的客户矩形区域,坐标是客户区坐标,一般GetClientRect得到的矩形区域的左上角坐标都是0,0;
控件中的GetWindowRec以屏幕左上角为原点!谁能告诉我为什么 第二句ScreenToClient(&rect);更加离谱~! -2是相对于什么坐标原点的平移? 第三句GetClientRect(&rect);总算正常,是期望的结果,得到以控件本身的左上角为原点的RECT 第四句ClientToScreen(&rect);以屏幕左上角为原点重写计算RECT,但为何和第一句得到的相...
::GetClientRect(GetDlgItem(IDC_STATIC_PIC)->GetSafeHwnd(), &m_PicRect); 二,区别 GetWindowRect 为获得控件相对与对话框或者(设备屏幕)的坐标大小。 GetWindowRect得到的是相对于当前界面的整个窗口左上角的坐标,比如一个对话框程序,那就是相对于对话框左上角的坐标,从左往右是X方向,从上往下是Y方向。
GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,因为这个矩阵是在客户区坐标系下(相对于窗口...