请问如何在一个TPanel控件上画图?(100分)

  • 主题发起人 主题发起人 ow
  • 开始时间 开始时间
TPanel有canvas属性吧!
 
在panel上加入TImage控件不就行了
 
to 一个过客:
TPanel好像没有Canvas属性
to imstev:
我不想在程序中加入不必要的控件来增大我程序的体积。
 
画布不就是Canvas吗?
 
你可以在运行时创建TImage或在设计时放一个空的TImage,运行时再调入图片,
不会增加程序的体积
 
我打算用其他控件了,因为现在我发现程序要画的控件必须满足一下两个条件:
1.从TWinControl派生
2.有Canvas

而TPanel和TImage都不满足这两条。
 
那就直接从 TCustomControl 派生,它符合你的两个条件。Panel 是有 Canvas 的,不过是
protected 的,还需要你派生。
 
bbkxjy 说的对,所有可见的WinControl都是有Canvas的,只看它是否暴露给你用了
自己继承一个吧
 
这个问题很简单牙,
implementation前加入下面一句:
type TMypanel=class(TPanel);

然后在代码中这样使用:

procedure TForm1.Button1Click(Sender: TObject);
begin
TMypanel(panel1).canvas.TextOut(1,1,'asfsdfsd');
end;


加分吧。欢迎光临我的主页:http://www.tommstudio.com
 
后退
顶部