delphi 7 中默认字体样式为‘MS Sans Serif’,一般情况下子级控件会继承父级一些属性,其中包括字体(包括字体大小,字体样式,颜色等)属性.如果动态创建控件且需要修改字体颜色或者大小时一定要在设置parent 之后再设置,否则该子控件无法继承父级字体属性

下面以edit为例'

1.
edit:=Tedit.create(self);
edit.AutoSize:=False;
edit.name:='edtTest';
edit.font.Size:=9;
edit.Parent:=self;'

2.

edit:=Tedit.create(self);
edit.AutoSize:=False;
edit.name:='edtTest';
edit.Parent:=self

edit.font.Size:=9;

1和2动态生成的edit字体是不一样。1是edit默认字体样式,2是继承父级字体样式。至于原理我没有找到答案,不知道如何解释这种现象。希望知道的delphi 高手传授一番!