很菜的问题快来抢分啊: 100(有关Tfont)(100分)

  • 主题发起人 主题发起人 hadyq
  • 开始时间 开始时间
H

hadyq

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了个控件,从Tquery继承,其它新建属性都可以使用,
但我新建的一个propety new_font:Tfont在双击该属性时,
不会弹出设置font的窗体,反而出错(Can not assign a nil to a Tfont)
以下是我的部分类代码, 请各位帮忙查查是什么问题
TdyqQuery = class(TQuery)
private
pte_titlefont:tfont;
{ Private declarations }
protected
procedure settitlefont(value:tfont);
{ Protected declarations }
public
constructor create(Aowner:tcomponent);override;
{ Public declarations }
published
property dyq_titlefont:tfont
read pte_titlefont write settitlefont ;
{ Published declarations }
end;
procedure Tdyqquery.settitlefont(value:tfont);
begin
pte_titleFont.Assign(Value);
end;
 
要么pte_titleFont没有CREATE要么VALUE的值不正确。
 
我回去试试,能再问一下吗:

怎样写一个属性:双击后,弹出窗体,可编辑其它属性(类似Tfont)
 
我认为是字体属性没有建立,即XXX:=TFont.create(nil);之类的。
关于第二个问题,我想改天再回答你,因为回答有点麻烦,我想想清楚后再告诉你。
 
>>yangyun:谢谢你啦,能不能快一点
 
pte_titleFont要先分配内存:pte_titleFont := TFont.Create;

第二个问题应该是如何制作属性编辑器的问题,可参看帮助中“如何写控件”里面有讲的。
 
多人接受答案了。
 
后退
顶部