初学OOP、控件开发的人问一个在CSDN水平不高的问题
我想用delphi写个控件,是一个矩形,但比shape受到了一些限制:它的height固定为30,width为20*ranking+100。在对象观察器内可见的属性只有一个:ranking。ranking是正整数,取值范围1到16。颜色,只能是黑框白底,粗细已定。
一言以蔽之,就是用户只能通过数字1到16,给这个矩形变化的宽度。
请问:这样的对象可以继承Tshape吗?还是必须继承Tgraphic?
[解决办法]
公开属性好像是不能屏蔽的,不过可以用override覆盖实现
[解决办法]
不能,height,width这2个都不可重写的
[解决办法]
已经公开的属性,无法变回隐藏,但是你可以通过属性覆盖的方法,把它变成一个只读属性,从而达到接近你想要的那种效果
published property Height: Integer read GetHeight;function TForm1.GetHeight: Integer;begin Result := inherited Height;end;
[解决办法]