请问各位大虾一个关于修改delphi5控件源代码的问题!!(50分)

  • 主题发起人 主题发起人 aa9
  • 开始时间 开始时间
A

aa9

Unregistered / Unconfirmed
GUEST, unregistred user!
是这样的,我在ttabsheet中加入一个TabsheetID:integer项,
TTabSheet = class(TWinControl)
...
public
TabsheetID :integer;
...
当我改完保存后,重启delphi5,发现ttabsheet中仍没有tabsheetID项请问这是为什么啊?
难道delphi5的控件代码不是在 source/vcl/中吗?为啥我改了却没有这项属性!!
Ttabsheet不在comctrl.pas中!!!请各位大虾们帮帮忙!!

我错在哪里及应修改哪里才能让Ttabsheet有tabsheetID:integer;项!!
 
修改以后要生效可以把源代码复制到其他目录下,然后新建一个工程,使用
这个单元,编译完成后把dcu文件复制到bin目录下。
 
你编译不进去的
 
把你修改后的源代码存到 Delphi5/lib下面
 
同意djdsz,即使你改动后,设计时在Delphi 中也是看不到该属性的,只有运行时才能
访问它,而且要求你改过的源文件或源文件编译产生的dcu文件放在IDE或工程的编译搜索
路径中再编译。Delphi 设计时自带控件是直接从安装后就有的那些 xxx50.bpl 中加载的,
没有这些包的源文件,就无法将你的改动编译到它们里边的。
 
TMyTabSheet = class(TTabSheet)
...
这样就可以,即从做一个控件。
 
首先你定义的方式就不对,要想tabsheetID在属性编辑器中显示出来的话,应该在前面加
上property,然后编辑后要把DCU拷贝到LIB目录中。
 
编译后就行了,pas不直接被用
 
我同意tinytao+教父:意即不动原有的ttabsheet自己从它继承再自定义一个控件,
再在published段加一个property tabsheetid之类的
 
要想tabsheetID在属性编辑器中显示出来的话,还应该
写在 Published 段中
 
save a copy to your project folder

revise the source

add the source file to your project

compile it !

OK......
 
现在我知是没法编译进去了,我并不是想做个想控件,因我想给每一个新生的
tabsheet赋予一个ID,以便我可以确定某个tabsheet。 而且如新创一个tabsheet.那么
pagecontrol.activepage: ttabsheet 就不对了!! 所以不可以自己继承做个!

现在我已换个方法完成了(也是一个多窗体浏览器)。多谢各位的帮忙!因分数

有限,所以我只能给bbkxjy与djdsz。
 
后退
顶部