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

怎么在panel上绘图

2012-02-15 
如何在panel上绘图?procedure TForm17.Button1Click(Sender: TObject)varaBmp : TBitmapaCanvas : TCanv

如何在panel上绘图?
procedure TForm17.Button1Click(Sender: TObject);
var
  aBmp : TBitmap;
  aCanvas : TCanvas;
  aRect : TRect;
begin
  aBmp := TBitmap.Create;
  aBmp.LoadFromFile('C:\a.bmp');
  aCanvas := TCanvas.Create;
  aCanvas.Handle := GetDC(Panel1.Handle);
  aRect := Rect(0,0,Panel1.Width,Panel1.Height);
  aCanvas.StretchDraw(aRect, aBmp);
  //SetStretchBltMode(aCanvas.Handle, STRETCH_HALFTONE);
  //StretchBlt(aCanvas.Handle,0,0,Panel1.Width,Panel1.Height,aBmp.Canvas.Handle,0,0,aBmp.Width,aBmp.Height,SRCCOPY);
  aBmp.Free;
  aCanvas.Free 
end;

为什么Panel1上没显示图片

[解决办法]
在每次PAINT消息中画图片,不然肯定会没了的,其实你这样不如用Image控件,全部封装好的,比你自己实现强多了
[解决办法]
不如用Image控件,动态加载进来.
把Image放在panel上
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Picture.LoadFromFile('C:\a.bmp');
end;
[解决办法]
画在PANEL上重绘下就没有了吧
用IMAGE代替是不错的选择。
不然你在PANEL重绘时再画

热点排行