我在添加的对话框类:
void CmyInputDlg::OnOK() //单击确定按钮
{
// TODO: Add extra validation here
UpdateData(TRUE);
CMainFrame *pframe=(CMainFrame*)GetParent();//获取框架窗口指针
CDimidiateView *pview=(CDimidiateView*)pframe->GetActiveView();//视图窗口指针
pview->a=m_ia;//给视图类成员赋值
pview->b=m_ib;
pview->c=m_ic;
pview->d=m_id;
pview->m_bInputed=TRUE;   CDialog::OnOK();
}在视图类中的重绘函数中:
void CDimidiateView::OnDraw(CDC* pDC)
{
CDimidiateDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
pDC->TextOut(50,50,"用二分法求解方程: ax^3+bx^2+cx+d=0,  请首先输入方程系数...");
    if(m_bInputed==TRUE)//如果已经输入系数
{
CString str;
str.Format(str,"%dx^3+%dx^2+%dx+%d",a,b,c,d);
pDC->TextOut(50,100,str); 
}}    可是程序运行时,并不能输出新的方程表达式,只有“用二分法求解方程: ax^3+bx^2+cx+d=0,  请首先输入方程系数..."
    移动窗口或改变窗口大小也不会改变,不知为什么,请叫各位,感激不敬!

解决方案 »

  1.   

    周末愉快!!!
    str.Format(str,"%dx^3+%dx^2+%dx+%d",a,b,c,d);
    改成
    str.Format("%dx^3+%dx^2+%dx+%d",a,b,c,d);
    试试,呵呵,可以了吧
      

  2.   

    str.Format(str,"%dx^3+%dx^2+%dx+%d",a,b,c,d);
    中将str做为格式化字符串了,而之后,"%dx^3+%dx^2+%dx+%d",a,b,c,d共5个参数都成了格式参数了,所以转换出来总是空,因为Format会重置字符串为空。
      

  3.   

    在OnOK() 中添加
    pview->Invalidate();
    试试