在。cpp中RECT不需要头文件
不过在基于MFC的常规DLL里使用就不知道了

解决方案 »

  1.   

    你在exe下这段代码可能写在CWnd的派生类下,比如CView,CDialog,所以不会出错,在dll下你可以这样写:
    RECT rect;//获得图像区域
    ::GetWindowRect(ImageWnd->m_hWnd,&rect);
    CPoint* lpPoint=new CPoint(0,0);
    rect.left=lpPoint->x;
    rect.top =lpPoint->y;
    rect.right +=lpPoint->x;
    rect.bottom+=lpPoint->y;
      

  2.   

    RECT是在windows.h中定义的类型,你在dll中#include <windows.h>试试。
    不过从你的出错信息看可能前面的代码有问题,估计是在当地没有造成影响的笔误,再好好检查一下吧!
      

  3.   

    哪个语法错误应该好解决吧 !至于error C2039: 'rect' : is not a member of 'tagRECT'我帮你看看
      

  4.   

    只要包含windows.h就可以了阿你这两个错误的位置是在这段代码里的么?好像不像阿……
      

  5.   

    你在stdafx.h中加上头文件Afxwin.h试试
      

  6.   

    你在stdafx.h中加上头文件Afxwin.h试试
      

  7.   

    哎,还不行
    to: kingzai() 
       我换成::GetWindowRect了,一样的错!!
    to: Others
       用CRect干脆就说没定义,在stdafx.h中已经自动包含了Afxwin.h
    所以也不是这个错,困惑啊!!帮我解决问题的,我另开贴给分
      

  8.   

    这样改:
    CRECT rect;//获得图像区域
    ::GetWindowRect(ImageWnd->m_hWnd,rect);
    CPoint* lpPoint=new CPoint(0,0);
    rect.left=lpPoint->x;
    rect.top =lpPoint->y;
    rect.right +=lpPoint->x;
    rect.bottom+=lpPoint->y;
      

  9.   

    对了,上面CRECT rect的改成CRect rect ,要保证可以使用MFC,否则没辙
      

  10.   

    好奇怪啊,
    我将rect.top =lpPoint->y;这句注释掉,编译就通过
    加上就报那个错!!
    top和其它几个值为什么不一样!!
      

  11.   

    哈哈,我终于解决了
    真是世界之大,无奇不有啊!!
    原来是这样:
    我在我的DLL中又要隐式链接一个10000多行的DLL(别人开发的)
    需要包含它的导出函数的头文件
    但在这个头文件中恰好有一个  #define top 65535
    因此在我的程序中rect.top就被替换了,你说巧不巧!!我费了好大劲才发现啊!!!好了,还是谢谢大家的参与
    结贴散分了!!