以下代码想循环查找Panel2中的Font字体属性,如为粗体,
则变为正常体
Var
i : Integer;
ChildControl : TControl; For i := 0 To Panel2.ControlCount - 1 Do
Begin
ChildControl := Panel2.Controls[I];
if ChildControl.font.style=[fsbold] then //这行报错
ChildControl.Font.Style := []; //这行也报错
End;
我键入ChildControl后的小圆点想指定FONT属性,但发现大多数属性没有,只有Name、
Top、Width、Left等一般属性,why?为什么大多数属性不能访问?
则变为正常体
Var
i : Integer;
ChildControl : TControl; For i := 0 To Panel2.ControlCount - 1 Do
Begin
ChildControl := Panel2.Controls[I];
if ChildControl.font.style=[fsbold] then //这行报错
ChildControl.Font.Style := []; //这行也报错
End;
我键入ChildControl后的小圆点想指定FONT属性,但发现大多数属性没有,只有Name、
Top、Width、Left等一般属性,why?为什么大多数属性不能访问?
if (ChildControl) is TEdit then
((ChildControl) as TEdit).Font.Name='宋体';
TMyControl=class(TControl)
public
property Font;
end;var
ChildControl:TMyControl; ChildControl:=TMyControl(Panel1.Controls[I]);
你这样一来,把子控件向上转型成TControl。它的Font属性没公开,当然访问不了。按 ehom(?!) 的方法可以。
写法本来就错误,字体类型为集合,应该用 IN 而不是 =