采用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);
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);
但是用了bitblt之后,所有的线都是黑色的。
BitBlt ( Hdc,0,0,(count_end - count_start +1)*width_scalea , height_scale0,memDC,0,0,SRCCOPY);我不知道怎么样将这些线的颜色恢复出来呢?再次感谢!