问个菜问题,有关OnPaint
好久没接触MFC了,问个菜问题。
我建了个基于对话框的工程,写了2个画图函数
int CAaaDlg:: Line(float x1,float y1,float x2,float y2)
{
CPaintDC dc(this);
dc.MoveTo(x1,y1);
dc.LineTo(x2,y2);
return 1;
}
int CAaaDlg:: Circle(float x1,float y1,int radius)
{
CPaintDC dc(this);
dc.MoveTo(x1,y1);
dc.Ellipse(x1-radius,y1-radius,x1+radius,y1+radius);
return 1;
}
OnPaint如下
void CAaaDlg::OnPaint()
{
aa();
CDialog::OnPaint();
}
在函数aa里调用了自己写的那2个函数,
CAaaDlg *dlg;
dlg = (CAaaDlg*)AfxGetMainWnd();
dlg->Line(50,30,170,40);
dlg->Circle(170,140, 20);
不过运行时为什么只画了线,没有圆,急盼高手解答。
我建了个基于对话框的工程,写了2个画图函数
int CAaaDlg:: Line(float x1,float y1,float x2,float y2)
{
CPaintDC dc(this);
dc.MoveTo(x1,y1);
dc.LineTo(x2,y2);
return 1;
}
int CAaaDlg:: Circle(float x1,float y1,int radius)
{
CPaintDC dc(this);
dc.MoveTo(x1,y1);
dc.Ellipse(x1-radius,y1-radius,x1+radius,y1+radius);
return 1;
}
OnPaint如下
void CAaaDlg::OnPaint()
{
aa();
CDialog::OnPaint();
}
在函数aa里调用了自己写的那2个函数,
CAaaDlg *dlg;
dlg = (CAaaDlg*)AfxGetMainWnd();
dlg->Line(50,30,170,40);
dlg->Circle(170,140, 20);
不过运行时为什么只画了线,没有圆,急盼高手解答。
...全文
相关推荐
MFC onPaint 实例 画图DIY
用 VC 6.0 写的一个小软件,很多功能还没有怎么添加 实现通过命令移动光标,在画板上面画线
OnPaint()与OnDraw()的区别
OnPaint()与OnDraw()的区别
C#中 paint()与Onpaint()的区别
paint是事件onpaint方法onpaint方法是调用paint事件的,用哪一个,效果是一样,就看那一个方便了内部是这样实现的:
OnPaint 重绘窗体
重写窗体重绘事件 protected override void OnPaint(PaintEventArgs e) { e.Graphics.DrawImage((Image)pic,new Point(0,0));//重绘窗体 }
OnPaint()的工作原理
MFC中改变对话框背景的几个消息函数的调用顺序、VC中OnPaint()的工作原理.


界面

