void CSdfsdsdView::OnDraw(CDC* pDC)
{
CSdfsdsdDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);        ::Rectangle(pDC->m_hDC, 10, 10, 50, 50);
}

解决方案 »

  1.   

    应该比较简单吧,首先生成一个Dialog类,负责坐标的输入,然后在View类中,声明一个Dialog对象,当按下Ok按钮后,就得到了坐标,最好存入View类的成员中,然后就UpdateAllViews()就可以了吧。
      

  2.   

    Dialog中对应的类添加四个变量(m_x0,m_y0,m_x2,m_y2)分别对应两组坐标,CRecDialog dlg;
    if(dlg.Domodal==IDOK)
    {   Rectangle(dlg.m_x0,dlg.m_y0,dlg.m_x1,dlg.m_y1);
    }
      

  3.   

    Dialog中对应的类添加四个变量(m_x0,m_y0,m_x2,m_y2)分别对应两组坐标,CRecDialog dlg;
    if(dlg.Domodal==IDOK)
    {   Rectangle(dlg.m_x0,dlg.m_y0,dlg.m_x1,dlg.m_y1);
    }
      

  4.   

    哈哈,试试这个
    按你的要求,这个对话框可以是模态的和非模态的
    用非模态的比较好,下面说一下
    在对话框中自定义消息WM_MYMESSAGE,按确定键时,
    给试图窗口发送自定义消息,将两组坐标组成的结构地址作为lParam传出去
    该结构定义如下:
    struct pp
    {
      int x1;
      int y1;
      int x2;
      int y2;
    }ss;
    按确定后PostMessage(pView->m_hWnd,WM_MYMESSAGE,0,&ss);//pView是在创建对话框时传入的参数
    在视图中,定义消息处理函数afx_msg LRESULT OnMyMessage(wParam,lParam);
    并实现该函数在函数中更新视图,画出矩形
      

  5.   

    很容易吧,生成对话框实例后,调用domodal()后同视图类交换数据,再调用CClientDC dc;
    dc(this);就可以画图了
      

  6.   

    Dialog中对应的类添加四个变量(m_x0,m_y0,m_x2,m_y2)分别对应两组坐标,
    In View映射菜单信息函数:CRecDialog dlg;
    if(dlg.Domodal==IDOK)
    {  CDC pDC=GetDC();
      pDC->Rectangle(dlg.m_x0,dlg.m_y0,dlg.m_x1,dlg.m_y1);
    }
      

  7.   

    什么是In View映射菜单信息函数?
    CRecDialog 是哪来的?
    这些程序加在哪里?
      

  8.   

    什么是In View映射菜单信息函数?就是添加菜单的消息函数。CRecDialog 是哪来的?我想他说的是你自己的对话框类。这些程序加在哪里?程序加在菜单的消息函数里。
      

  9.   

    问题差不多已解决,但还有一点:
    在dialog中要点两次OK才退出dialog,其他按键也是。