GetClientRect得到的只是客户区的,不包括标题栏和边框的之类的(非客户区),可以用ClientToScreen()转换一下当前的客户区左边就可以了。

解决方案 »

  1.   

    GetWindowRect为什么在对话框程序中就不对???
      

  2.   

    GetWindowRect得到的是整个串口的屏幕坐标,包括非客户区的。
      

  3.   

    可以用ClientToScreen(&rect)转换一下,将用户的逻辑坐标转化为屏幕坐标
      

  4.   

    同志们,我已经找到原因了。我是在OnInitiaDlg函数中取窗口的屏幕坐标的,这时候的窗口在屏幕的左上角(对话框资源里有坐标属性(0,0)),还没到达屏幕中央,我在GetWindowRect之前调用一下CenterWindow就对了。