hur.cn - 华软网

 热门搜索

dc.Arc(&rect,rect.TopLeft,rect.BottomRight) 错在哪了?

  作者:未知    来源:网络    更新时间:2011/5/22
这段程序的最后一句报错——
    CRect rect;
    GetDlgItem(IDC_LIST2)->GetWindowRect(&rect);
    ScreenToClient(&rect);
    CClientDC dc(this);
    dc.Arc(&rect,rect.TopLeft,rect.BottomRight);

error C2664: 'int __thiscall CDC::Arc const struct tagRECT *,struct tagPOINT,struct tagPOINT)' : cannot convert parameter 2 from 'const class CPoint &void) const' to 'struct tagPOINT'
        No constructor could take the source type, or constructor overload resolution was ambiguous

---华软 网友回答---
BOOL Arc( LPCRECT lpRect, POINT ptStart, POINT ptEnd );

dc.Arc(&rect,rect.TopLeft,rect.BottomRight);

rect.TopLeft()是成员函数,而 Arc的第2个参数是POINT。

中间用个临时变量传递:

POINT tl=rect.TopLeft();

POINT br=rect.BottomRight();


dc.Arc(&rect,tl,br);


---华软网友回复---
谢谢hztj2005!
受您启发,改成——
dc.Arc(&rect,rect.TopLeft(),rect.BottomRight());
通过!
Have a nice Sunday!
---华软网友回复---
少()

dc.Arc(&rect,rect.TopLeft(),rect.BottomRight());      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。