本帖最后由 VisualEleven 于 2014-07-23 10:43:37 编辑

解决方案 »

  1.   

    补充一下,IDC_STATIC_GRAPH是Pictrue控件的ID。
      

  2.   

    根据你这句话:
    利用 CPaintDC dc(this)定义dc,那么最后执行BitBlt将绘制完成的图形放在屏幕上时,是放在了对话框上那就把Picture控件去掉,直接画在对话框上不就结了,非要用Picture控件吗
      

  3.   

    WM_ERASEBKGND消息直接return TRUE ?
      

  4.   

    “如果利用CPaintDC dc(GetDlgItem(IDC_STATIC_GRAPH))来定义dc,”CPaintDC  不是 随便 用的。在 对话框上 ,为 控件 画图 步骤:1. 对话框 OnPaint , 它 会 给 控件 发 Invalidate
    2. 控件。UpdateWindow , 保证 控件 客户区 有效。
    3. 取 控件 CClientDC (或GetDC)  不是 PaintDC
    4. 取 控件 Rect
    5.在控件dc上  画图。