读书人

大家帮忙看看 为什么这段代码不能画图

发布时间: 2012-02-06 15:52:44 作者: rapoo

大家帮忙看看 为什么这段代码不能画图?? 急死了 - C++ Builder / Windows SDK/API
HDC hdc;
hdc=Form1-> Image1-> Canvas-> Handle ;
HDC hMemDC;
HBITMAP hBmp;

COLORREF BC;
BC=RGB(255,0,0);
HBRUSH BrushObject ;
BrushObject=CreateSolidBrush(BC);
int ps;
ps=PS_SOLID ;
int pw;
HPEN PenObject ;
PenObject=CreatePen(ps,1,BC) ;
SelectObject(hdc,PenObject);


hMemDC=CreateCompatibleDC(hdc); //创建虚拟DC
SelectObject(hMemDC,BrushObject);
hBmp=CreateCompatibleBitmap(hdc,600,250);// 创建bitmap

RECT kk;
kk.left= 16;
kk.right = 1200;
kk.top = 8;
kk.bottom = 1200;
FillRect(hMemDC,&kk,BrushObject); //
SelectObject(hMemDC,hBmp); // 选中 创建的DC

Polyline(hMemDC,pot,799);
BitBlt(hdc,16,8,600,250,hMemDC,0,0,SRCCOPY); //复制
DeleteDC(hMemDC);
DeleteObject(hBmp);
DeleteObject(BrushObject);

[解决办法]
FillRect(hMemDC,&kk,BrushObject); //
SelectObject(hMemDC,hBmp); // 选中 创建的DC

以上两句交换位置,不然你没有填充的地方即hBmp

读书人网 >C++ Builder

热点推荐