draw on dlg is simple only add some code in func proc. is ok.
void TestDrawDlg::OnOK()
{ Invalidate();
// TODO: Add extra validation here
//Invalidate();
//CDialog::OnOK();
CPaintDC dc(this);
CPen MyNewPen;
COLORREF mm_color=RGB(233,4,5);//dlg.m_color;
MyNewPen.CreatePen(PS_SOLID,10,mm_color);//RGB(255,0,0)
CPen* pOriginalPen;
pOriginalPen=dc.SelectObject(&MyNewPen);
int m_Radius=45;
CRect MyRectangle(30,40,20+m_Radius*2,10+m_Radius*2);
dc.Ellipse(&MyRectangle);
dc.LineTo(443,444);
dc.SelectObject(pOriginalPen);
//delete dc;
}
void TestDrawDlg::OntestDraw()
{
}
BOOL TestDrawDlg::OnInitDialog()
{
CDialog::OnInitDialog();
int iInstallresult;
iInstallresult=SetTimer(1,
2000,
NULL);
if(iInstallresult==0)
{
MessageBox("cannot install timer!");
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void TestDrawDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
//AfxMessageBox("come time");
//Invalidate();
//CDialog::OnTimer(nIDEvent);
//CDialog::OnTimer(nIDEvent);
}
void TestDrawDlg::OnDestroy()
{
CDialog::OnDestroy();
KillTimer(1);
}
void TestDrawDlg::drawSomeLine()
{
CPaintDC dc(this);
CPen MyNewPen;
COLORREF mm_color=RGB(23,224,5);//dlg.m_color;
MyNewPen.CreatePen(PS_SOLID,20,mm_color);//RGB(255,0,0)
CPen* pOriginalPen;
pOriginalPen=dc.SelectObject(&MyNewPen);
int m_Radius=45;
CRect MyRectangle(30,40,20+m_Radius*2,10+m_Radius*2);
dc.Ellipse(&MyRectangle);
dc.LineTo(443,444);
dc.SelectObject(pOriginalPen);
}
void TestDrawDlg::OnDrawSomeLine()
{
Invalidate();
drawSomeLine();
}
void TestDrawDlg::Onclear()
{
Invalidate();
}