永发信息网

求高手解答关于C++里关于FillRect函数问题。

答案:1  悬赏:60  手机版
解决时间 2021-03-10 14:40
  • 提问者网友:無理詩人
  • 2021-03-10 11:20
dc.MoveTo(p1);
dc.LineTo(p2.x,p1.y);
dc.LineTo(p2.x,p2.y);
dc.LineTo(p1.x,p2.y);
dc.LineTo(p1);
CRect c1(p1.x,p1.y,p2.x-p1.x,p2.y-p1.y);
dc.FillRect(c1,&brush);

其中p1为鼠标按下去的点,p2是鼠标抬起的点,brush之前有定义过,这段程序就是想画一个实心的矩形。

主要问题就是矩形外边框是对的,但是填充的部分不是这个部分,填充的不对,虽说也是矩形,求高手解答。。。
最佳答案
  • 五星知识达人网友:酒者煙囻
  • 2021-03-10 11:42
CRect c1(p1.x,p1.y,p2.x-p1.x,p2.y-p1.y); 改成 CRect c1(p1.x,p1.y,p2.x,p2.y);

crect构造函数使用的是左上角和右下角的点,而不是左上角和宽度、高度
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯