采用VB调用DLL方式画图,由于数据点非常多,用C写的dll使用双缓存来画图,然后bilblt采用完全拷贝的方法 写到到程序窗口,但是看到的数据线、数据点都是黑色,请问有没有办法将分成不同颜色啊?另,我的程序主要是用在win98下,(CPU PII) 非常感谢!
dll中的代码如下:
HDC memDC = CreateCompatibleDC ( Hdc );

HBITMAP memBM = CreateCompatibleBitmap ( Hdc ,(count_end - count_start +1 )*width_scalea, height_scale0);

SelectObject ( memDC, memBM );
                                  
RECT memRect = {0,0,(count_end - count_start +1 )*width_scalea, height_scale0 };HBRUSH hbr = CreateSolidBrush(RGB(236,233,216));  
FillRect(memDC,&memRect,hbr);Polyline(memDC, aPoint, count_end - count_start+1);
      BitBlt ( Hdc,0,0,(count_end - count_start +1)*width_scalea , height_scale0,memDC,0,0,SRCCOPY);

解决方案 »

  1.   

    CreatePen创建不通颜色的画笔啊
      

  2.   

    这个可以用GDI+来绘制,很简单,但貌似Win98不支持GDI+
      

  3.   

    Polyline(memDC, aPoint, count_end - count_start+1);不好意思,这个地方是使用了颜色的,我有三条独立的线,每个用不同颜色区分;(红,蓝,黑)
    但是用了bitblt之后,所有的线都是黑色的。
    BitBlt ( Hdc,0,0,(count_end - count_start +1)*width_scalea , height_scale0,memDC,0,0,SRCCOPY);我不知道怎么样将这些线的颜色恢复出来呢?再次感谢!