MFC 画一个圆角的 矩形 我要的不是按钮注意 只是画图!

 我来答
茅友梅
2011-09-26 · TA获得超过190个赞
知道答主
回答量:578
采纳率:0%
帮助的人:329万
展开全部
CRect rect = lpDrawItemStruct->rcItem;
CDC *pDC=CDC::FromHandle(lpDrawItemStruct->hDC);

POINT pt ;

//画按钮的外边框,它是一个半径为5的圆角矩形
pt.x =5;
pt.y =5;
CPen* hOldPen = pDC->SelectObject(&m_BoundryPen);
pDC->RoundRect(&rect, pt);
pDC->SelectObject(hOldPen);
rect.DeflateRect(CSize(GetSystemMetrics(SM_CXEDGE), GetSystemMetrics(SM_CYEDGE)));
CBrush brush(m_color);
pDC->FillRect(rect,&brush );
brush.DeleteObject();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友38c8e98
2011-09-26 · TA获得超过2658个赞
知道小有建树答主
回答量:1131
采纳率:0%
帮助的人:618万
展开全部
RoundRect 你要的不是这个效果,那是什么效果,按你说的就是RoundRect 啊
追问
就是一个角是圆角的 别的都正常 只是一个角是圆角的矩形!
追答
没有这个函数,只能自己实现了
用区域来实现了。
CombinRgn函数,对矩形和圆进行AND操作

iRgnType = CombineRgn (hDestRgn, hSrcRgn1, hSrcRgn2, iCombine) ;
这一函数将两个区域(hSrcRgn1和hSrcRgn2)组合起来并用句柄hDestRgn指向组合成的区域。这三个区域句柄都必须是有效的,但是hDestRgn原来所指向的区域被破坏掉了(使用这个函数时,要让hDestRgn初始化,指向任意一个区域,即使是hSrcRgn1也行)。
iCombine参数说明hSrcRgn1和hSrcRgn2如何组合,见表。

iCombine值 新区域
RGN_AND 两个区域的公共部分
RGN_OR 两个区域的全部
RGN_XOR 两个区域的全部除去公共部分
RGN_DIFF hSrcRgn1不在hSrcRgn2中的部分
RGN_COPY hSrcRgn1的全部(忽略hSrcRgn2)

或者简单点,画4条直线+1条弦
Pie函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友96aa8d3
2011-09-26 · TA获得超过433个赞
知道小有建树答主
回答量:2306
采纳率:75%
帮助的人:979万
展开全部
好像有专门的函数的 你仔细赵州 rectangle
追问
函数我都看过了RoundRect 是画圆角矩形的 也就是 四个角都是圆形的!我想要的 不是这个效果!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-01-08
展开全部
a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式