想要设计圆角按钮,所以重绘了按钮,然后放在图片控件上。初始化对话框的时候圆角还是正常的,当鼠标移动到按钮上,按钮进行重绘后,四个边角又出来了。但是不放在picture control上时,圆角就是一直正常的,请问这是什么原因,需要怎么修改,谢谢大家~
初始化对话框时:
重绘按钮代码:
CRect rect;
GetClientRect(&rect);
HRGN h_rgn = CreateRoundRectRgn(0, 0, rect.right, rect.bottom, roundRadis, roundRadis);
SetWindowRgn(h_rgn, TRUE);
CPen pen(PS_SOLID, 1, borderColor); //边框颜色
CPen* pOldPen = pDC->SelectObject(&pen);
CFont font;
font.CreateFont(m_fontSize, 0, 0, 0, 700, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, _T("宋体"));
CFont* pOldFont = pDC->SelectObject(&font);
// 填充颜色
CBrush brush;
brush.CreateSolidBrush(bkColor);
pDC->SelectObject(&brush);
pDC->RoundRect(0, 0, rect.right, rect.bottom, roundRadis, roundRadis);
pDC->SelectObject(pOldPen);
绘制顺序调整下,先绘制背景,再绘制文本