我在添加的对话框类:
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, 请首先输入方程系数..."
移动窗口或改变窗口大小也不会改变,不知为什么,请叫各位,感激不敬!
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, 请首先输入方程系数..."
移动窗口或改变窗口大小也不会改变,不知为什么,请叫各位,感激不敬!
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);
试试,呵呵,可以了吧
中将str做为格式化字符串了,而之后,"%dx^3+%dx^2+%dx+%d",a,b,c,d共5个参数都成了格式参数了,所以转换出来总是空,因为Format会重置字符串为空。
pview->Invalidate();
试试