我从百度百科上查到如下内容:  该函数将指定点,或者矩形的用户坐标转换成屏幕坐标
  void ClientToScreen( LPPOINT lpPoint ) const;
  void ClientToScreen( LPRECT lpRect ) const;这段内容似乎是说,ClientToScreen这个函数,既然可以把点的坐标转换成屏幕坐标,也可以将矩形坐标转换成屏幕坐标(函数重载?)。可是我试了一下,只能转换点的坐标,转换矩形坐标编译出错。有办法把一个矩形的坐标(某窗口客户区的)转换成屏幕坐标吗?

解决方案 »

  1.   

    CRect rc;
    GetClientRect(&rc);
    ClientToScreen(&rc);
      

  2.   

    BOOL ClientToScreen( 
      HWND hWnd, 
      LPPOINT lpPoint
    );BOOL ClientToScreen( 
      HWND hWnd, 
      LPRECT lpRect
    );两种用法:比如 CWnd *pWnd,CRect rect;
    Win32 API  ClientToScreen( pWnd, &rect);
    某窗口   pWnd->ClientToScreen(&rect);rect也可以不用地址,因为ClientToScreen里边会自动转换。
      

  3.   

    请问使用CRect需要包含什么头文件?我是C++初学者,我的程序用到C++的特性,但是类全是我自己编写的。所以头文件却还和用C时一样。诸如#include <windows.h>这样的。我加了一条语句:CRect rc;
    发现编译时报错:1>c:\1\zywb\zywb\zywb.cpp(271) : error C2065: “CRect”: 未声明的标识符请问需要什么样的头文件呢?