用mfc的dialog编程,想画图,应在界面上加什么控件?用什么函数,我是说,点击一个button,在界面上画出图来.我本来的程序是点击一个按钮,弹出画的图,现在我想他显示在主界面上,应该怎么做.另外就是,如果我知道画出的句柄那又该怎么样呢?

解决方案 »

  1.   

    在对话框上放置一个静态控件,把他设置成你需要的大小,设置背景色,你就可以
    在上面画图了,用对话框画图,打印比较麻烦的,建议你用CFormView视图类
    来画图,这样也就具有对话框的功能,或者直接用doc——view结构,
      

  2.   

    void CMyDlg::OnButton1() 
    {
    CClientDC dc(this);         //画线
    dc.MoveTo (0,0);
    dc.LineTo (300,300);         //画圆
    dc.Ellipse (0,0,300,300);
    }
      

  3.   

    直接在你dialog里的OnPaint()里面把图画出来就好;
    BitBlt函数就行
      

  4.   

    同意 snowlight81(snow_light)的程序。
     cllr(寂寞2001)的程序是设置图像,而不是画图。
      

  5.   

    在对话框上放置一个静态控件,把他设置成你需要的大小,设置背景色,你就可以
    在上面画图了,用对话框画图,打印比较麻烦的,建议你用CFormView视图类
    来画图,这样也就具有对话框的功能,或者直接用doc——view结构,void CMyDlg::OnButton1() 
    {
    CClientDC dc(this);         //画线
    dc.MoveTo (0,0);
    dc.LineTo (300,300);         //画圆
    dc.Ellipse (0,0,300,300);
    }
      

  6.   

    静态控件是哪个啊?是picture控件还是static text控件?
      

  7.   

    TextOut
    BitBlt
    MoveTo   LineTo等等
      

  8.   

    定义一个CDC或CClientDC如:{
       CClientDC  dc(this);
       TextOut(100, 100, "yes I can!");
       MoveTo(100, 100);
       LineTo(300, 300);
    }
      

  9.   

    OnPaint()
    OnDraw()
    里面的绘图指令,会直接操作CDC所建立的屏幕或打印设备 缓冲区,而屏幕或打印设备直接根据所关联缓冲区里的数据在相应位置绘图。
    OnPaint()
    {
    {
       CPaintDC  dc(this);
       TextOut(100, 100, "hehe");
       MoveTo(100, 100);
       LineTo(300, 300);
    }
    }