procedure TForm1.Button3Click(Sender: TObject);
var hdcMem:hdc;
hPen,hOldPen,BitMap,bmpMemOld:dword;
begin
hdcMem:=CreateCompatibleDC(self.Canvas.Handle);
BitMap:=CreateCompatibleBitmap(hdcMem,100,200);
bmpMemOld:=SelectObject(hdcMem,Bitmap);
hPen:=CreatePen(PS_SOLID, 1, RGB(255, 222, 0));
hOldPen:=SelectObject(hdcMem, hPen);
windows.Rectangle(hdcMem,1,1,100,50);//Memframe);
LineTo(hdcMem,100,10);
LineTo(hdcMem,10,10);
SelectObject(hdcMem, hOldPen);
Bitblt(self.Canvas.Handle,1,1,100,100,hdcMem,0,0,SRCCOPY);
end;

解决方案 »

  1.   

    BitMap:=CreateCompatibleBitmap(self.Canvas.Handle ,100,200);
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var hdcMem:hdc;
    hPen,hOldPen,BitMap,bmpMemOld:dword;
    begin
      hdcMem:=CreateCompatibleDC(self.Canvas.Handle);
      BitMap:=CreateCompatibleBitmap(self.Canvas.Handle ,100,200);
      bmpMemOld:=SelectObject(hdcMem,Bitmap);
      hPen:=CreatePen(PS_SOLID, 1, RGB(255, 0, 0));
      hOldPen:=SelectObject(hdcMem , hPen);
      windows.Rectangle(hdcMem,1,1,100,50);//Memframe);
      LineTo(hdcMem,100,10);
      LineTo(hdcMem,10,10);
      SelectObject(BitMap, hOldPen);
      Bitblt(self.Canvas.Handle,1,1,100,100,hdcMem,0,0,SRCCOPY);
    end;