我想从graphics.brushstyles模式和两个颜色整数创建位图,并将它们加载到ImageList中。我在Windows 7 64位计算机上使用Delphi 2007。显示了我使用的代码。我希望这至少可以编译,但会出现以下错误:
[DCC Error] QuickUnitGraph.pas(2912): E2003 Undeclared identifier: 'Create'
[DCC Error] QuickUnitGraph.pas(2913): E2003 Undeclared identifier: 'SetSize'
[DCC Error] QuickUnitGraph.pas(2914): E2003 Undeclared identifier: 'Canvas'
[DCC Error] QuickUnitGraph.pas(2920): E2010 Incompatible types: 'TBitmap' and 'tagBITMAP'
在进一步调查中,我发现Delphi认为变量Bmp是一个windows.TagBITMAP,它有一组不同的属性和方法。我在这里做错了什么?
procedure CreateBitMap(il:TImageList; Pattern, Foreground, Background:integer);
var
Bmp: TBitmap;
begin
Bmp := TBitmap.Create(nil);
Bmp.SetSize(50,50);
Bmp.Canvas.Brush.Style := TBrushStyle(Pattern);
Bmp.Canvas.Brush.Color := TColor(Foreground);
Bmp.Canvas.Pen.Color := TColor(Background);
il.Add(Bmp);
end;