解决方案 »

  1.   

    是啊,我看产生了一个基于对话框的程序,它里面只有Onpaint()函数,和Ondraw()区别是什么?我看了很多其他的帖子,很多人在对话框绘图的时候都是都选择,在一个静态文本控件里面绘制。不可以直接在对话框内绘制吗?
      

  2.   

    Onpaint()函数,和Ondraw()发生的时候,与调用的方式不同.
      

  3.   

    OnPaint里面会调用OnDraw。OnDraw是虚函数。这样子类只需要override OnDraw就能够显示。但是对话框没有OnDraw。因为对话框不是用来画图的。
      

  4.   

       对话框绝对可以直接画图,我曾经用它做过俄罗斯方块,你只得到其DC,即可以用这个DC来进行各种图形操作。可以创建一个DC,然后将对话框的窗口DC给其,即可以直接用DC了,这时候的用法就和VIEW一样了,只不过VIEW的PDC是系统己经赋值的
      

  5.   

    谢谢各位大哥大姐,十分感激,我现在是在对话框内放了一个静态文本,
    用 CWnd pwnd=GetDlgItem(IDC_STATIC);
    CDC   *pDC=GetDc();
    再在pDC绘图,现在遇到的问题是,在静态文本内绘图,它是以像素为基本单位的,和实际有些区别,比如说我要画的是一个半径为1的圆,如果以一个像素为基本单位,根本就是一个很小的点,
    问题二,就是我画点是以Rectangle(250,150,252,152)实际上是一个长度为2像素的矩形,想问问有没有画点更好的方法。
      

  6.   

    CWnd pwnd=GetDlgItem(IDC_STATIC); 
    CCLientDC dc(pWnd);
    用dc去画图