怎么在Dialog上画个圆?

cglee 2005-08-17 09:30:05
怎么在Dialog上画个圆,填充颜色的圆?
...全文
170 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cglee 2005-08-17
  • 打赏
  • 举报
回复
greenabc(guowei):还是你好,给的很详细啊
greenabc 2005-08-17
  • 打赏
  • 举报
回复
void CHYWvs62Dlg::OnPaint()
{
if (IsIconic())
{
...
...
...
}
else
{
CPaintDC dc(this);
CPen pen,*pOldPen;
CBrush brush,*pOldBrush;
pen.CreatePen(PS_SOLID,1,RGB(255,0,0));
brush.CreateSolidBrush(RGB(0,255,0));
pOldPen = dc.SelectObject(&pen);
pOldBrush = dc.SelectObject(&brush);
dc.Ellipse(0, 0, 100, 100);

//Release GDI Object
dc.SelectObject(pOldPen);
dc.SelectObject(pOldBrush);
pen.DeleteObject();
brush.DeleteObject();

CDialog::OnPaint();
}

}
cglee 2005-08-17
  • 打赏
  • 举报
回复
怎么选brush啊??
lixiaosan 2005-08-17
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_cdc.3a3a.ellipse.asp

画圆的时候要先选入brush
pDC->Ellipse(100,100,100,100);
lixiaosan 2005-08-17
  • 打赏
  • 举报
回复
pDC->Ellipse(..)

具体看msdn中Ellipse的参数说明,,可以填充
cglee 2005-08-17
  • 打赏
  • 举报
回复
代码没看懂,你写完整些,我又没有msdn,查不了
Zhymax 2005-08-17
  • 打赏
  • 举报
回复
HPEN hpenOld = SelectObject(hDC, hpenDraw);
HBRUSH hbrOld = SelectObject(hDC, hbr);
Ellipse(hDC, rc.left, rc.top, rc.right, rc.bottom);
SelectObject(hDC, hbrOld);
SelectObject(hDC, hpenOld);

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧