代码如下:
procedure TElevatorB.DrawBk;
var
Bmp,B2:TBitMap;
begin
Bmp:=TBitmap.Create;
try
Hositwal.Picture.Assign(Nil); //Hositwal是一个TImage控件 Bmp.LoadFromResourceName(hinstance,'FBBK');
//Hositwal.Canvas.Brush.Bitmap:=Bmp;
Hositwal.Canvas.Brush.Color:=clgray;
Hositwal.Canvas.FillRect(Rect(0,0,45,120)); Bmp.LoadFromResourceName(hinstance,'FBK');
//Hositwal.Canvas.Brush.Bitmap:=Bmp;
Hositwal.Canvas.Brush.Color:=clRed;
Hositwal.Canvas.FillRect(Rect(0,120,45,210)); finally
FreeAndNil(Bmp);
end;
end;如果使用Brush.Color就正常。使用BMP就只能看到FBBK位图填充的效果。
如果建立两个BMP,就正常,代码如下:
procedure TElevatorB.DrawBk;
var
Bmp,B2:TBitMap;
begin
Bmp:=TBitmap.Create;
B2:=TBitmap.Create;
try
Hositwal.Picture.Assign(Nil); //Hositwal是一个TImage控件 Bmp.LoadFromResourceName(hinstance,'FBBK');
Hositwal.Canvas.Brush.Bitmap:=Bmp;
Hositwal.Canvas.FillRect(Rect(0,0,45,120)); Bmp.LoadFromResourceName(hinstance,'FBK');
Hositwal.Canvas.Brush.Bitmap:=B2;
Hositwal.Canvas.FillRect(Rect(0,120,45,210)); finally
FreeAndNil(Bmp);
FreeAndNil(B2);
end;
end;想请教一个,第二次LoadFromResouceName为何不改变呢?
procedure TElevatorB.DrawBk;
var
Bmp,B2:TBitMap;
begin
Bmp:=TBitmap.Create;
try
Hositwal.Picture.Assign(Nil); //Hositwal是一个TImage控件 Bmp.LoadFromResourceName(hinstance,'FBBK');
//Hositwal.Canvas.Brush.Bitmap:=Bmp;
Hositwal.Canvas.Brush.Color:=clgray;
Hositwal.Canvas.FillRect(Rect(0,0,45,120)); Bmp.LoadFromResourceName(hinstance,'FBK');
//Hositwal.Canvas.Brush.Bitmap:=Bmp;
Hositwal.Canvas.Brush.Color:=clRed;
Hositwal.Canvas.FillRect(Rect(0,120,45,210)); finally
FreeAndNil(Bmp);
end;
end;如果使用Brush.Color就正常。使用BMP就只能看到FBBK位图填充的效果。
如果建立两个BMP,就正常,代码如下:
procedure TElevatorB.DrawBk;
var
Bmp,B2:TBitMap;
begin
Bmp:=TBitmap.Create;
B2:=TBitmap.Create;
try
Hositwal.Picture.Assign(Nil); //Hositwal是一个TImage控件 Bmp.LoadFromResourceName(hinstance,'FBBK');
Hositwal.Canvas.Brush.Bitmap:=Bmp;
Hositwal.Canvas.FillRect(Rect(0,0,45,120)); Bmp.LoadFromResourceName(hinstance,'FBK');
Hositwal.Canvas.Brush.Bitmap:=B2;
Hositwal.Canvas.FillRect(Rect(0,120,45,210)); finally
FreeAndNil(Bmp);
FreeAndNil(B2);
end;
end;想请教一个,第二次LoadFromResouceName为何不改变呢?
>>Hositwal.Canvas.Brush.Bitmap:=B2; // but here is b2?? B2.LoadFromResourceName(hinstance,'FBK');// change Bmp to B2
Hositwal.Canvas.Brush.Bitmap:=B2;