我有一个TShape组件。我需要动态加载它,并且需要在该TShape上放置一个数字。如果有人知道-请向我建议。
谢谢拉克什
最佳答案
您可以使用TShape
组件的Canvas属性绘制数字,要访问此受保护的属性,必须创建TShape的后代类并发布该属性,或者仅使用interposer class。
type
TShape = class(ExtCtrls.TShape); //interposer class
TForm1 = class(TForm)
Shape1: TShape;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Shape1.Canvas.Font.Name :='Arial';// set the font
Shape1.Canvas.Font.Size :=20;//set the size of the font
Shape1.Canvas.Font.Color:=clBlue;//set the color of the text
Shape1.Canvas.TextOut(10,10,'1999');
end;