大家帮忙看看 为什么这段代码不能画图? 急死了解决方案
大家帮忙看看 为什么这段代码不能画图?? 急死了 - 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
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