首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

大家帮忙看看 为什么这段代码不能画图? 急死了解决方案

2012-02-06 
大家帮忙看看 为什么这段代码不能画图?? 急死了 - C++ Builder / Windows SDK/APIHDChdchdcForm1- Imag

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

热点排行